|
srsRAN Docs
|
Namespaces | |
| namespace | ldpc |
| LDPC constants and helper functions. | |
Classes | |
| struct | amf_appconfig |
| struct | amplitude_control_appconfig |
| Amplitude control application configuration. More... | |
| class | amplitude_controller |
| Describes an amplitude controller interface. More... | |
| struct | amplitude_controller_clipping_config |
| Describes an amplitude controller configuration for the clipping implementation. More... | |
| class | amplitude_controller_clipping_impl |
| Clipping amplitude controller implementation. More... | |
| class | amplitude_controller_factory |
| Describes an amplitude controller factory. More... | |
| struct | amplitude_controller_metrics |
| Power measurements and runtime metrics reported by the amplitude controller. More... | |
| class | amplitude_controller_scaling_impl |
| Scaling amplitude controller implementation. More... | |
| class | app_state_notifier |
| Notifier from application to signal current operation state. More... | |
| class | async_event_source |
Publisher of async events. One single subscriber/listener/observer of type async_event_subscriber can subscribe to this class to listen for incoming messages. More... | |
| class | async_queue |
| class | async_single_event_observer |
| Awaitable type that implements a observer/subscriber/listener for a single async event. This awaitable is single-use, meaning that after it auto-unsubscribes after receiving a message from the event source/publisher. More... | |
| class | async_task |
| class | backend_pcap_writer |
| This class provides a thread-safe interface to write to the pcap file, by only allowing accesses to the file via a single executor. More... | |
| struct | base_cell_appconfig |
| Base cell configuration. More... | |
| struct | base_resumable_procedure |
| Base class for resumable tasks that are not coroutines. More... | |
| class | base_task_strand |
| Base class for task strand implementations. More... | |
| class | baseband_gateway |
| Describes a baseband gateway interface. More... | |
| class | baseband_gateway_base |
| Describes the base interface for baseband gateway interfaces. More... | |
| class | baseband_gateway_buffer_dynamic |
| Describes a baseband buffer implementation that comprises a fix number of channels that can be dynamically resized. More... | |
| class | baseband_gateway_buffer_reader |
| Read-only baseband buffer interface. More... | |
| class | baseband_gateway_buffer_reader_view |
| Implements a baseband gateway buffer reader view based on another reader. More... | |
| class | baseband_gateway_buffer_writer |
| Read-write baseband buffer interface. More... | |
| class | baseband_gateway_buffer_writer_view |
| Implements a baseband gateway buffer writer view based on another writer. More... | |
| class | baseband_gateway_receiver |
| Baseband gateway - reception interface. More... | |
| class | baseband_gateway_transmitter |
| Baseband gateway - transmission interface. More... | |
| struct | baseband_gateway_transmitter_metadata |
| Baseband transmitter metadata parameters. More... | |
| class | benchmarker |
| Describes a class for performing benchmarks. More... | |
| struct | beta_offsets |
BetaOffsets, as per TS 38.331. These values are mapped into floats as per Tables in Section 9.3, TS 38.213. More... | |
| class | bit_buffer |
| Describes a bit buffer that contains packed bits. More... | |
| class | bit_decoder |
| Decoder of bits stored in a byte_buffer. More... | |
| class | bit_encoder |
| Encoder of bits in a byte buffer. More... | |
| class | blocking_queue |
| class | blocking_task_worker |
| Contrarily to other type of workers, this worker runs in the same thread where run() is called. run() is blocking. More... | |
| class | bounded_bitset |
| Represents a dynamically-sized bitset with an upper bound capacity of N bits. More... | |
| class | bounded_integer |
| This class represents an integer whose value is within the set of possible values: {MIN_VALUE, ..., MAX_VALUE}. More... | |
| struct | bounded_integer_invalid_tag |
| Tag used to initialize a bounded_integer in invalid state. More... | |
| struct | bsr_config |
BSR-Config, TS 38.331. More... | |
| struct | buffer_pool_appconfig |
| struct | bwp_configuration |
| struct | bwp_downlink |
| "BWP-Downlink" as per TS 38.331. More... | |
| struct | bwp_downlink_common |
| struct | bwp_downlink_dedicated |
| "BWP-DownlinkDedicated" as per TS 38.331. More... | |
| struct | bwp_info |
| Grouping of common and UE-dedicated information associated with a given BWP. More... | |
| struct | bwp_rb_bitmap |
| struct | bwp_sch_grant_info |
| Parameters of a PDSCH or PUSCH grant allocation within a BWP. More... | |
| struct | bwp_uplink_common |
| struct | bwp_uplink_dedicated |
| class | byte_buffer |
| Byte sequence, which represents its data in memory via an intrusive linked list of memory chunks. This container is not contiguous in memory. Default copy ctor and assignment is disabled in this container. The user should instead std::move to transfer ownership, .copy() for shallow copies with shared ownership and .deep_copy() for byte-wise copies. More... | |
| class | byte_buffer_chain |
| This class represents the concatenation of several individual data packets. The class iterator type automatically traverses the concatenated data_packets in a byte by byte fashion. More... | |
| class | byte_buffer_reader |
| Used to read a range of bytes stored in a byte_buffer. More... | |
| class | byte_buffer_slice |
| This class represents a sub-interval or make_slice of a potentially larger byte_buffer. Like byte_buffer and byte_buffer_view, the represented bytes by this class are not contiguous in memory. Contrarily to byte_buffer_view, this class retains shared ownership of the segments held by the byte_buffer which it references. Due to the shared ownership model, the usage of this class may involve additional overhead associated with reference counting, which does not take place when using byte_buffer_view. More... | |
| class | byte_buffer_view |
| Non-owning view to a byte sequence. The underlying byte sequence is not contiguous in memory. Instead, it is represented as an intrusive linked list of byte buffer segments, where each segment contains a span of bytes. More... | |
| class | byte_buffer_writer |
| Used to write into a range of bytes stored in a byte_buffer. More... | |
| struct | carrier_configuration |
| Configuration of each transmission point associated to the corresponding cell(s). This includes different physical antennas, different frequencies, bandwidths. More... | |
| class | carrier_subslot_resource_grid |
| Represents the Symbol x CRB resource grid of a DL/UL Carrier. The number of CRBs of the grid will depend on the carrier bandwidth and numerology used. More... | |
| struct | cce_position |
| struct | cell_appconfig |
| Cell configuration. More... | |
| struct | cell_config_builder_params |
| Main cell parameters from which other cell parameters (e.g. coreset0, BWP RBs) will be derived. More... | |
| struct | cell_config_dedicated |
| UE-dedicated configuration for serving cell, as per TS38.331. More... | |
| class | cell_configuration |
| class | cell_executor_mapper |
| Mapper of task executors used by the MAC DL, RLC DL and MAC scheduler for low-latency tasks. The task executors can be mapped based on cell index or type of task (slot indication vs others). More... | |
| struct | cell_ph_report |
| UL Power Headroom Report (PHR) of a cell. More... | |
| struct | cell_resource_allocator |
| class | cell_scheduler |
| This class holds all the resources that are specific to a cell. This includes the SIB and RA scheduler objects, PDCCH scheduler object, the cell resource grid, etc. More... | |
| struct | cell_selection_info |
| struct | cell_slot_resource_allocator |
| Stores all the scheduled information relative to a {slot, cell}. More... | |
| class | cell_slot_resource_grid |
| Manages the allocation of RBs in the resource grid of a given service cell for a given slot. This class manages multiple carriers of different numerologies associated to the same cell. More... | |
| class | channel_equalizer |
| Channel equalizer interface. More... | |
| class | channel_equalizer_factory |
| Describes a channel equalizer factory. More... | |
| class | channel_equalizer_zf_impl |
| Channel equalizer implementation using the Zero Forcing algorithm. More... | |
| class | channel_estimate |
| Describes channel estimation results. More... | |
| class | channel_modulation_factory |
| class | channel_precoder |
| Channel precoder interface. More... | |
| class | channel_precoder_avx2 |
| Channel precoder implementation. More... | |
| class | channel_precoder_avx512 |
| Channel precoder implementation. More... | |
| class | channel_precoder_factory |
| Factory that builds channel precoder objects. More... | |
| class | channel_precoder_generic |
| Channel precoder implementation. More... | |
| class | channel_precoder_impl |
| Channel precoder implementation. More... | |
| class | channel_precoder_neon |
| Channel precoder implementation. More... | |
| class | channel_state_information |
| Channel State Information parameters. More... | |
| class | circular_array |
| class | circular_map |
| struct | codeblock_metadata |
| Describes a codeblock. More... | |
| struct | codebook_config |
| CodebookConfig is used to configure codebooks of Type-I and Type-II. More... | |
| class | colocated_f1ap_pdu_handler |
| struct | common_network_gateway_config |
| Generic network gateway interfaces to connect components to the outside world. More... | |
| class | complex_normal_distribution |
| Complex normal distribution. More... | |
| class | concurrent_free_memory_block_list |
| memory_block stack that mutexes pushing/popping More... | |
| class | concurrent_priority_queue |
| Concurrent priority queue, where the caller specifies the element priority statically while pushing it to the queue. More... | |
| class | concurrent_queue |
| A concurrent queue that can be used to pass objects between threads. Different policies are supported: More... | |
| struct | concurrent_queue_params |
| Parameters used to construct a concurrent queue. More... | |
| class | concurrent_thread_local_object_pool |
| Concurrent pool of instances that are accessed depending on the thread. More... | |
| struct | copyonly_test_object |
| Test object to verify correct copy ctor/assignment logic. More... | |
| struct | coreset_configuration |
| struct | coro_handle |
| Coroutine handle that will be passed between awaitables. More... | |
| struct | coro_handle< void > |
| Specialization with common functionality that is independent of promise type. More... | |
| struct | cpu_affinities_appconfig |
| CPU affinities configuration for the gNB app. More... | |
| struct | cpu_affinities_cell_appconfig |
| CPU affinities configuration for the cell. More... | |
| struct | crb_interval |
| Struct to express a {min,...,max} range of CRB indexes within a carrier. More... | |
| class | crc_calculator |
| Calculates the CRC, as per TS38.212 Section 5.1. Interface. More... | |
| class | crc_calculator_clmul_impl |
| CRC calculator implementation based on the PCLMULQDQ instruction. More... | |
| class | crc_calculator_factory |
| class | crc_calculator_generic_impl |
| CRC calculator generic implementation. More... | |
| class | crc_calculator_lut_impl |
| CRC calculator based on look-up tables. More... | |
| struct | crit_diagnostics_item |
| struct | crit_diagnostics_t |
| struct | csi_aperiodic_trigger_state |
See TS 38.331, CSI-AperiodicTriggerState. More... | |
| struct | csi_appconfig |
| struct | csi_associated_report_config_info |
See TS 38.331, CSI-AssociatedReportConfigInfo. More... | |
| struct | csi_im_resource |
| CSI-IM-Resource is used to configure one CSI Interference Management (IM) resource. More... | |
| struct | csi_im_resource_set |
| struct | csi_meas_config |
| CSI-MeasConfig is used to configure CSI-RS belonging to the serving cell in which CSI-MeasConfig is included. More... | |
| struct | csi_report_config |
| struct | csi_report_configuration |
| Collects Chanel State Information (CSI) report configuration parameters. More... | |
| struct | csi_report_data |
| Collects Chanel State Information (CSI) report fields. More... | |
| struct | csi_report_pmi |
| Precoding Matrix Indicator (PMI). More... | |
| struct | csi_report_pusch_size |
| Collects the parameters that describe the CSI report size transmitted in PUSCH. More... | |
| struct | csi_resource_config |
| struct | csi_rs_info |
| Stores the information associated with a CSI-RS signalling. More... | |
| struct | csi_rs_pattern |
| Describes the CSI-RS pattern in the resource grid. More... | |
| struct | csi_rs_pattern_configuration |
| Collects the parameters that describe a CSI-RS allocation pattern in a resource grid. More... | |
| struct | csi_rs_pattern_port |
| Describes the CSI-RS pattern within a PRB for a given port. More... | |
| struct | csi_rs_resource_mapping |
| class | csi_rs_scheduler |
| struct | csi_semi_persistent_on_pusch_trigger_state |
See TS 38.331, CSI-SemiPersistentOnPUSCH-TriggerState. More... | |
| struct | csi_ssb_resource_set |
| struct | cu_cp_appconfig |
| struct | cu_cp_cell_appconfig_item |
| Each item describes the relationship between one cell to all other cells. More... | |
| struct | cu_cp_neighbor_cell_appconfig_item |
| struct | cu_cp_report_appconfig |
| Report configuration, for now only supporting the A3 event. More... | |
| struct | cu_up_appconfig |
| struct | cu_up_e1_setup_request |
| CU-UP initiated E1 setup request. More... | |
| struct | cu_up_e1_setup_response |
| Response to CU-UP initiated E1 setup request. More... | |
| class | cu_up_executor_pool |
| Interface used to access different executors used in the CU-UP. More... | |
| class | cyclic_prefix |
| Describes a cyclic prefix configuration with its helper methods. More... | |
| struct | dci_0_0_c_rnti_configuration |
| Required parameters for packing a DCI format 0_0 scrambled by C-RNTI, CS-RNTI or MCS-C-RNTI. More... | |
| struct | dci_0_0_size |
| DCI format 0_0 payload size parameters. More... | |
| struct | dci_0_0_tc_rnti_configuration |
| Required parameters for packing a DCI format 0_0 scrambled by TC-RNTI. More... | |
| struct | dci_0_1_configuration |
| Required parameters for packing a DCI format 0_1 scrambled by C-RNTI, CS-RNTI, SP-CSI-RNTI or MCS-C-RNTI. More... | |
| struct | dci_0_1_size |
| DCI format 0_1 payload size parameters. More... | |
| struct | dci_1_0_c_rnti_configuration |
| Required parameters for packing a DCI format 1_0 scrambled by C-RNTI, CS-RNTI or MCS-C-RNTI. More... | |
| struct | dci_1_0_p_rnti_configuration |
| Required parameters for packing a DCI format 1_0 scrambled by P-RNTI. More... | |
| struct | dci_1_0_ra_rnti_configuration |
| Required parameters for packing a DCI format 1_0 scrambled by RA-RNTI. More... | |
| struct | dci_1_0_si_rnti_configuration |
| Required parameters for packing a DCI format 1_0 scrambled by SI-RNTI. More... | |
| struct | dci_1_0_size |
| DCI format 1_0 payload size parameters. More... | |
| struct | dci_1_0_tc_rnti_configuration |
| Required parameters for packing a DCI format 1_0 scrambled by TC-RNTI. More... | |
| struct | dci_1_1_configuration |
| Required parameters for packing a DCI format 1_1 scrambled by C-RNTI, CS-RNTI, SP-CSI-RNTI or MCS-C-RNTI. More... | |
| struct | dci_1_1_size |
| DCI format 1_1 payload size parameters. More... | |
| struct | dci_context_information |
| struct | dci_dl_info |
| Describes an unpacked DL DCI message. More... | |
| struct | dci_rar_configuration |
| Collects the Random Access Response grant content fields described by TS38.213 Table 8.2-1. More... | |
| struct | dci_size_config |
| DCI configuration parameters required to perform the DCI size alignment procedure. More... | |
| struct | dci_sizes |
| DCI payload sizes. More... | |
| struct | dci_ul_info |
| struct | decoded_mac_rx_pdu |
| Stores MAC RX PDU, as well as any contextual or temporary information related to the PDU decoding. More... | |
| struct | default_error_t |
| struct | default_success_t |
| class | delimited_formatter |
| Format helper used to insert delimiters between structure fields. More... | |
| class | demodulation_mapper |
| Demodulator interface. More... | |
| class | demodulation_mapper_impl |
| Approximate-LLR demodulator. More... | |
| class | described_segment |
| Describes an LDPC segment or codeblock. More... | |
| class | dft_processor |
| Describes a Discrete Fourier Transform (DFT) processor. More... | |
| class | dft_processor_factory |
| Discrete Fourier Transform (DFT) processor factory. More... | |
| struct | dft_processor_fftw_configuration |
| Describes the specific FFTW DFT parameters. More... | |
| class | dft_processor_fftw_impl |
| Describes a DFT processor class configuration based on the FFTW library. More... | |
| class | dft_processor_generic_impl |
| Describes a DFT processor class configuration based on the FFTW library. More... | |
| struct | dl_broadcast_allocation |
| See ORAN WG8, 9.2.3.3.12 - Downlink Broadcast Allocation. More... | |
| struct | dl_buffer_state_indication_message |
| DL buffer state for a given RLC bearer. More... | |
| struct | dl_config_common |
| Downlink Configuration, common to the serving cell. More... | |
| class | dl_harq_process |
| class | dl_logical_channel_manager |
| struct | dl_mac_ce_indication |
| struct | dl_msg_alloc |
| Dedicated DL Grant for UEs. More... | |
| struct | dl_msg_lc_info |
| struct | dl_msg_tb_info |
| struct | dl_paging_allocation |
| Stores the information associated with Paging allocation. More... | |
| class | dl_sch_pdu |
| This class represents and encodes a MAC DL-SCH PDU that may contain multiple subPDUs. Each subPDU is composed of a MAC subheader and MAC CE or MAC SDU payload. More... | |
| class | dl_sch_pdu_assembler |
| Class that manages the encoding of DL-SCH MAC PDUs that will be stored in Transport Blocks. More... | |
| struct | dl_sched_result |
| struct | dl_ssb_pdu |
| Describes all the parameters related to an SSB allocation. More... | |
| struct | dlsch_configuration |
| Collects the necessary parameters to calculate the Downlink Shared Channel (DL-SCH) information. More... | |
| struct | dlsch_information |
| Collects Downlink Shared Channel (DL-SCH) derived parameters. More... | |
| class | dlt_pcap |
| Interface class for writing a DLT PCAP to a file. More... | |
| class | dlt_pcap_impl |
| struct | dmrs_downlink_config |
| struct | dmrs_information |
| class | dmrs_pbch_processor |
| Describes a DMRS for PBCH processor interface. More... | |
| class | dmrs_pbch_processor_factory |
| class | dmrs_pbch_processor_impl |
| class | dmrs_pdcch_processor |
| Describes a DMRS for PDCCH processor interface. More... | |
| class | dmrs_pdcch_processor_factory |
| class | dmrs_pdcch_processor_impl |
| Describes a generic implementation of a DMRS for PDCCH processor. More... | |
| class | dmrs_pdsch_processor |
| Describes a DMRS for PDSCH processor interface. More... | |
| class | dmrs_pdsch_processor_factory |
| class | dmrs_pdsch_processor_impl |
| Defines a DMRS for PDSCH generic implementation. More... | |
| class | dmrs_pucch_estimator_factory |
| class | dmrs_pucch_processor |
| Describes a DM-RS for PUCCH processor interface. More... | |
| class | dmrs_pucch_processor_format1_impl |
| Generic implementation of a DM-RS channel estimator for PUCCH Format 1. More... | |
| class | dmrs_pucch_processor_format2_impl |
| Generic implementation of a DM-RS channel estimator for PUCCH Format 2. More... | |
| class | dmrs_pusch_estimator |
| DM-RS-based PUSCH channel estimator interface. More... | |
| class | dmrs_pusch_estimator_factory |
| class | dmrs_pusch_estimator_impl |
| class | dmrs_type |
| Defines the DMRS for PDSCH and PUSCH types. More... | |
| struct | dmrs_uplink_config |
| class | downlink_pdu_validator |
| Downlink processor validation interface. More... | |
| struct | downlink_preemption |
| UE configuration to monitor PDCCH for INT_RNTI (interruption). More... | |
| class | downlink_processor |
| Downlink processor class that groups and process all the downlink channels within a slot. More... | |
| class | downlink_processor_baseband |
| Lower physical layer downlink processor - Baseband interface. More... | |
| struct | downlink_processor_baseband_configuration |
| Collects downlink processor baseband configuration parameters. More... | |
| class | downlink_processor_baseband_impl |
| Implements a software generic lower PHY downlink baseband processor. More... | |
| struct | downlink_processor_config |
| Configuration parameters for downlink processors. More... | |
| struct | downlink_processor_configuration |
| Describes a sector configuration. More... | |
| class | downlink_processor_factory |
| Factory that allows to create downlink processors. More... | |
| struct | downlink_processor_factory_hw_config |
| Downlink processor hardware-accelerated factory configuration. More... | |
| struct | downlink_processor_factory_sw_config |
| Downlink processor software factory configuration. More... | |
| class | downlink_processor_impl |
| Implements a software generic lower PHY downlink processor. More... | |
| class | downlink_processor_notifier |
| Lower physical layer downlink processor - Notifier interface. More... | |
| class | downlink_processor_pool |
| Pool to access a downlink processor. More... | |
| struct | downlink_processor_pool_config |
| Describes all downlink processors in a pool. More... | |
| class | downlink_processor_pool_impl |
| Implementation of a downlink processor pool. More... | |
| struct | downlink_processor_pool_impl_config |
| Describes all downlink processors in a pool. More... | |
| class | downlink_processor_single_executor_impl |
| Implementation of a downlink processor. More... | |
| class | downlink_processor_single_executor_state |
| Downlink processor state management class. More... | |
| class | downlink_processor_validator_impl |
| Implements the downlink PDU validator for downlink_processor_single_executor_impl. More... | |
| class | du |
| struct | du_cell_config |
| struct | du_config |
| class | du_configurator |
| class | du_high |
| Interface to DU-high class, which owns and manages the interaction between MAC, RLC and F1 layers. More... | |
| class | du_high_cell_executor_mapper |
| This interface is used to allow the DU to choose between different cell-specific task executors. More... | |
| class | du_high_executor_mapper |
| Interface used to access different executors used in the DU-High. More... | |
| class | du_high_executor_mapper_impl |
| Task Executor Mapper for DU-high. More... | |
| class | du_high_ue_executor_mapper |
| This interface is used to allow the DU to choose between different UE-specific task executors. More... | |
| class | du_impl |
| struct | du_low_configuration |
| Parameters used to instantiate the DU-low. More... | |
| class | du_low_impl |
| struct | du_mac_sched_control_config |
| struct | du_mac_sched_control_config_response |
| class | du_procedure_logger |
| struct | du_qos_config |
| QoS Configuration, i.e. 5QI and the associated RLC configuration for DRBs. More... | |
| struct | du_srb_config |
| SRB Configuration, i.e. associated RLC and MAC configuration for SRBs in the DU. More... | |
| struct | dyn_5qi_descriptor_t |
| class | dynamic_bit_buffer |
| Implements a bit buffer that uses dynamic memory. More... | |
| class | dynamic_re_buffer |
| Implements a dynamic resource element buffer. More... | |
| class | dynamic_re_measurement |
| Dynamic container for RE measurements. More... | |
| class | dynamic_tensor |
| Dynamic tensor - the dimensions can be resized dynamically. More... | |
| class | e1ap_asn1_packer |
| struct | e1ap_cell_group_info_item |
| struct | e1ap_crit_diagnostics |
| struct | e1ap_crit_diagnostics_item |
| struct | e1ap_data_forwarding_info |
| struct | e1ap_data_forwarding_info_request |
| struct | e1ap_drb_failed_item_ng_ran |
| struct | e1ap_drb_modified_item_ng_ran |
| struct | e1ap_drb_setup_item_ng_ran |
| struct | e1ap_drb_status_transfer |
| struct | e1ap_drb_to_modify_item_ng_ran |
| struct | e1ap_drb_to_setup_item_ng_ran |
| struct | e1ap_drb_to_setup_mod_item_ng_ran |
| class | e1ap_event_handler |
| Interface used by E1AP to inform about events. More... | |
| class | e1ap_gateway_local_connector |
| Implementation of a CU-UP and CU-CP E1AP gateway for the case that the CU-UP and CU-CP are co-located. More... | |
| struct | e1ap_gbr_qos_flow_info |
| struct | e1ap_message |
| E1AP message transferred between a CU-CP and a CU-UP. More... | |
| class | e1ap_message_handler |
| This interface is used to push the received E1AP PDUs to the CU-CP or CU-UP. More... | |
| class | e1ap_message_notifier |
| This interface notifies the reception of new E1AP messages over the E1AP interface. More... | |
| struct | e1ap_ng_ran_alloc_and_retention_prio |
| struct | e1ap_ng_ran_bearer_context_mod_request |
| struct | e1ap_pdcp_config |
| struct | e1ap_pdcp_count |
| struct | e1ap_pdcp_sn_status_info |
| struct | e1ap_pdu_session_res_to_modify_item |
| struct | e1ap_pdu_session_res_to_setup_item |
| struct | e1ap_pdu_session_resource_failed_item |
| struct | e1ap_pdu_session_resource_modified_item |
| struct | e1ap_pdu_session_resource_setup_modification_item |
| struct | e1ap_qos_flow_failed_item |
| struct | e1ap_qos_flow_item |
| struct | e1ap_qos_flow_level_qos_params |
| struct | e1ap_qos_flow_map_item |
| struct | e1ap_qos_flow_qos_param_item |
| struct | e1ap_rohc |
| struct | e1ap_rohc_params |
| struct | e1ap_security_algorithm |
| struct | e1ap_security_info |
| struct | e1ap_up_params_item |
| struct | e1ap_up_security_key |
| struct | e2_appconfig |
| E2 Agent configuration. More... | |
| class | e2_connection_client |
| Interface used by the E2 Agent to establish a new connection with a RIC. More... | |
| class | e2_connection_manager |
| class | e2_du_metrics_connector |
| Class used to receive metrics reports from scheduler and sends them to the e2 interface. More... | |
| class | e2_du_metrics_interface |
| class | e2_du_metrics_notifier |
| class | e2_entity |
| Wrapper for the E2 interface that puts function calls into its own task executor. More... | |
| class | e2_event_handler |
| Interface used by E2 to inform about events. More... | |
| class | e2_event_manager |
| class | e2_gateway_remote_connector |
| Implementation of a E2 Agent and RIC gateway for the case of socket-based communication. More... | |
| class | e2_impl |
| struct | e2_indication_message |
| class | e2_indication_procedure |
| E2 INDICATION procedure will be used to send the measurement data to the RIC in response to the E2 SUBSCRIPTION REQUEST, It will execute periodically until the E2 SUBSCRIPTION DELETE REQUEST is received. More... | |
| class | e2_interface |
| Combined entry point for E2 handling. More... | |
| struct | e2_message |
| class | e2_message_handler |
| This interface is used to push E2 messages to the E2 interface. More... | |
| class | e2_message_notifier |
| This interface notifies the reception of new E2 messages over the E2 interface. More... | |
| class | e2_metric_connector_manager |
| Manages the E2 metric connectors of the app. More... | |
| class | e2_ric_control_procedure |
| struct | e2_ric_control_request |
| struct | e2_ric_control_response |
| class | e2_setup_procedure |
| struct | e2_setup_request_message |
| CU initiated E2 setup request. More... | |
| struct | e2_setup_response_message |
| Response to CU initiated E2 setup request. More... | |
| struct | e2_subscribe_delete_request_message |
| struct | e2_subscribe_delete_response_message |
| struct | e2_subscribe_reponse_message |
| struct | e2_subscribe_request_message |
| class | e2_subscriber_mgmt |
| class | e2_subscription_delete_procedure |
| struct | e2_subscription_info_t |
| Here we define a subscription struct. More... | |
| class | e2_subscription_manager |
| class | e2_subscription_manager_impl |
| class | e2_subscription_proc |
| class | e2_subscription_setup_procedure |
| struct | e2_subscription_t |
| class | e2ap_asn1_packer |
| This E2AP packer class is used to pack outgoing and unpack incoming E2 message in ASN1 format. More... | |
| struct | e2ap_configuration |
| E2AP configuration. More... | |
| class | e2ap_network_adapter |
| E2AP bridge that uses the IO broker to handle the SCTP connection. More... | |
| class | e2ap_packer |
| This interface is used to pack outgoing and unpack incoming E2 messages. More... | |
| struct | e2sm_action_definition |
| class | e2sm_control_action_executor |
| RIC control action executor maps an control action request to the proper stack functions. More... | |
| class | e2sm_control_service |
| struct | e2sm_event_trigger_definition |
| class | e2sm_handler |
| class | e2sm_interface |
| class | e2sm_kpm_asn1_packer |
| class | e2sm_kpm_du_meas_provider_impl |
| class | e2sm_kpm_impl |
| class | e2sm_kpm_meas_provider |
| struct | e2sm_kpm_metric_t |
| class | e2sm_kpm_report_service_base |
| class | e2sm_kpm_report_service_style1 |
| class | e2sm_kpm_report_service_style2 |
| class | e2sm_kpm_report_service_style3 |
| class | e2sm_kpm_report_service_style4 |
| class | e2sm_kpm_report_service_style5 |
| class | e2sm_manager |
| class | e2sm_rc_asn1_packer |
| class | e2sm_rc_control_action_2_6_du_executor |
| class | e2sm_rc_control_action_du_executor_base |
| class | e2sm_rc_control_service |
| Class for e2sm_rc_control_service styles 1-10. More... | |
| class | e2sm_rc_control_service_base |
| struct | e2sm_rc_control_service_def_t |
| class | e2sm_rc_control_service_style_255 |
| Class for e2sm_rc_control_service style 255 (Multiple actions) More... | |
| class | e2sm_rc_impl |
| class | e2sm_report_service |
| struct | e2sm_ric_control_request |
| struct | e2sm_ric_control_response |
| class | eager_async_task |
| struct | ecef_coordinates_t |
| struct | epoch_time_t |
| class | epoll_handler |
| < A virtual interface to handle epoll events (used by timer and socket handler) Callback function called when data is received on socket More... | |
| class | epoll_receive_callback |
| Callback function called when timer expires. More... | |
| class | epoll_signal_handler |
| class | epoll_timer_handler |
| Basic epoll signal handler. More... | |
| class | event_receiver |
| class | event_receiver< void > |
| class | event_sender |
| class | event_sender< void > |
| class | event_signal |
| Similar to "manual_event_flag", but the data passed to .set() is propagated to awaiting coroutine. More... | |
| class | event_signal_flag |
| Awaitable type that can be manually set to one of the states: "set" or "unset" Coroutines will automatically resume when they await on a manual_event_flag that is in "set" state. More... | |
| class | evm_calculator |
| Error Vector Magnitude calculator. More... | |
| class | evm_calculator_generic_impl |
| Generic software implementation of the EVM calculator interface. More... | |
| class | executor_tracer |
| A task executor that traces the latencies of the task enqueuing/dequeuing and task invocation. More... | |
| class | executor_tracer< Exec, detail::null_event_tracer > |
| Specialization for null event tracer. It should not add any overhead compared to the original executor. More... | |
| class | expected |
| struct | expert_execution_appconfig |
| Expert configuration of the gNB app. More... | |
| struct | expert_threads_appconfig |
| Expert threads configuration of the gNB app. More... | |
| struct | expert_upper_phy_appconfig |
| Expert upper physical layer configuration. More... | |
| class | f1ap_asn1_packer |
| struct | f1ap_common_log_prefix |
| class | f1ap_event_handler |
| Interface used by F1 to inform about events. More... | |
| struct | f1ap_message |
| F1AP message transferred between a CU-CP and a DU. More... | |
| class | f1ap_message_handler |
| This interface is used to push F1AP messages to the F1 interface. More... | |
| class | f1ap_message_notifier |
| This interface notifies the reception of new F1AP messages over the F1-C interface. More... | |
| class | f1c_gateway_local_connector |
| Implementation of a DU and CU-CP F1-C gateway for the case that the DU and CU-CP are co-located. More... | |
| struct | f1u_cu_bearer |
| struct | f1u_cu_up_appconfig |
| F1-U configuration at CU_UP side. More... | |
| class | f1u_cu_up_entity |
| class | f1u_cu_up_gateway |
| class | f1u_cu_up_lower_transport_interface |
| class | f1u_cu_up_lower_transport_notifier |
| class | f1u_cu_up_rx_upper_data_notifier |
| class | f1u_cu_up_tx_upper_data_interface |
| class | f1u_cu_up_tx_upper_data_notifier |
| class | f1u_dl_local_adapter |
| struct | f1u_du_appconfig |
| F1-U configuration at DU side. More... | |
| struct | f1u_du_bearer |
| class | f1u_local_connector |
| Object used to connect the DU and CU-UP F1-U bearers On the co-located case this is done by connecting both entities directly. More... | |
| class | f1u_tx_delivery_local_adapter |
| class | f1u_ul_local_adapter |
| struct | fapi_configuration |
| class | fifo_async_task_scheduler |
| Asynchronous task that sequentially runs other enqueued asynchronous tasks. More... | |
| class | file_event_tracer |
| Class that writes trace events to a dedicated trace file. More... | |
| class | file_event_tracer< false > |
| Specialization of file_event_tracer that does not write any events. More... | |
| class | file_sink |
| class | file_tensor |
| Binary file input interface for data with multiple dimensions. More... | |
| class | file_vector |
| Simple binary file input-output interface. More... | |
| class | fixed_size_memory_block_pool |
| struct | freq_band_indicator |
| Used to indicate a frequency band. More... | |
| struct | frequency_info_dl |
| This class provides basic parameters of a downlink carrier and transmission. More... | |
| struct | frequency_info_ul |
| class | general_task_worker |
| Single thread worker with a locking MPSC input task queue. This worker type is ideal for the cases where there is low contention between task producers. More... | |
| class | general_task_worker_executor |
| Executor for single-thread task worker. More... | |
| class | generic_dft_N |
| Generic interface of an N-point DFT calculator. More... | |
| struct | gnb_appconfig |
| Monolithic gnb application configuration. More... | |
| class | gnb_console_helper |
| Helper class to manager interaction with console, i.e. reading from stdin as well as writing to stdout to print traces. Class uses the IO broker to register callback handlers. When they are called they run in the context of the IO broker thread. More... | |
| struct | gnb_os_sched_affinity_config |
| CPU affinity configuration in the gNB app. More... | |
| class | gnb_os_sched_affinity_manager |
| Scheduler affinity mask manager. More... | |
| struct | gnb_parsed_appconfig |
| Monolithic gnb parsed application configuration. More... | |
| struct | grant_info |
| Parameters of a grant allocation in the cell resource grid. More... | |
| struct | grant_prbs_mcs |
| struct | gtpu_allocator_creation_request |
| struct | gtpu_config |
| Configurable parameters for the GTP-U. More... | |
| class | gtpu_demux |
| Combined entry point for the GTPU-demux object. More... | |
| struct | gtpu_demux_cfg_t |
| struct | gtpu_demux_creation_request |
| class | gtpu_demux_ctrl |
| This interface manages the TEID to GTP-U tunnel mapping. More... | |
| class | gtpu_demux_impl |
| class | gtpu_demux_rx_upper_layer_interface |
| This interface is used to push incoming GTP-U messages to the demuxer. More... | |
| struct | gtpu_dissected_pdu |
| class | gtpu_echo |
| struct | gtpu_echo_creation_message |
| class | gtpu_echo_impl |
| Implementation of the GTP-U path management entity, i.e. echo request/response, supported extension headers notif. More... | |
| class | gtpu_echo_rx |
| Class used for reception of GTP-U path management messages. More... | |
| class | gtpu_echo_tx |
| Class used for transmission of GTP-U path management messages. More... | |
| class | gtpu_echo_tx_interface |
| struct | gtpu_extension_header |
| Base class for GTP-U extension headers. More... | |
| struct | gtpu_header |
| GTP-U header, including extensions. More... | |
| struct | gtpu_ie_private_extension |
| struct | gtpu_ie_recovery |
| struct | gtpu_rx_sdu_info |
| struct | gtpu_rx_state |
| GTP-U RX state variables. More... | |
| struct | gtpu_teid_compare_t |
| struct | gtpu_teid_hasher_t |
| class | gtpu_teid_pool |
| GTP-U TEID pool. More... | |
| class | gtpu_teid_pool_impl |
| struct | gtpu_teid_tag |
| GTP-U Tunnel Identifier. More... | |
| class | gtpu_tunnel_base_rx |
| Class used for receiving GTP-U bearers. More... | |
| class | gtpu_tunnel_base_tx |
| Class used for transmitting GTP-U bearers. More... | |
| class | gtpu_tunnel_log_prefix |
| class | gtpu_tunnel_ngu |
| struct | gtpu_tunnel_ngu_creation_message |
| class | gtpu_tunnel_ngu_impl |
| class | gtpu_tunnel_ngu_rx |
| Class used for receiving GTP-U bearers. More... | |
| class | gtpu_tunnel_ngu_rx_lower_layer_notifier |
| class | gtpu_tunnel_ngu_tx |
| Class used for transmitting GTP-U bearers. More... | |
| class | gtpu_tunnel_rx_upper_layer_interface |
| class | gtpu_tunnel_tx_lower_layer_interface |
| class | gtpu_tunnel_tx_upper_layer_notifier |
| struct | hal_appconfig |
| HAL configuration of the gNB app. More... | |
| class | harq_entity |
| class | harq_logger |
| Helper class to log HARQ events. More... | |
| class | harq_timeout_handler |
| Handler of HARQ process timeouts. More... | |
| class | heap_memory_resource |
| struct | in_place_t |
| Tag to disambiguate optional ctor overloads. Introduced only in C++17. More... | |
| class | index_based_ue_executor_mapper |
| L2 UL executor mapper that maps UEs based on their RNTI. More... | |
| struct | instant_trace_event |
| Trace event type with defined name, starting point but no duration. More... | |
| class | interpolator |
| Interpolator interface. More... | |
| class | interpolator_linear_impl |
| Linear interpolator. More... | |
| class | interval |
| Representation of an interval between two numeric-types with the math representation [start, stop). More... | |
| class | intrusive_double_linked_list |
| struct | intrusive_double_linked_list_element |
| class | intrusive_forward_list |
| struct | intrusive_forward_list_element |
| class | io_broker |
| Describes the base interface for an (async) IO broker. The IO broker is responsible for handling all IO events, including sockets, signals, and system timers. File descriptors can be registered with the IO broker via register_fd() and unregistered via unregister_fd(). More... | |
| struct | io_broker_config |
| class | io_broker_epoll |
| Implementation of an IO broker using epoll. More... | |
| struct | is_complex |
| Checks if T is compatible with a complex floating point. More... | |
| struct | is_complex< const std::complex< T > > |
| struct | is_complex< std::complex< T > > |
| struct | lazy_task_launcher |
| struct | lazy_task_launcher< void > |
| struct | lcg_bsr_report |
| UL BSR Report for a single Logical Channel Group. More... | |
| class | lcid_dl_sch_t |
| LCID representation for PDSCH. More... | |
| class | lcid_ul_sch_t |
| class | ldpc_decoder |
| LDPC decoder interface. More... | |
| class | ldpc_decoder_avx2 |
| LDPC decoder implementation based on AVX2 intrinsics. More... | |
| class | ldpc_decoder_avx512 |
| LDPC decoder implementation based on AVX512 intrinsics. More... | |
| class | ldpc_decoder_factory |
| class | ldpc_decoder_generic |
| Generic LDPC decoder implementation without any optimization. More... | |
| class | ldpc_decoder_impl |
| Template LDPC decoder. More... | |
| class | ldpc_decoder_neon |
| LDPC decoder implementation based on NEON intrinsics. More... | |
| class | ldpc_encoder |
| LDPC encoder interface. More... | |
| class | ldpc_encoder_avx2 |
| LDPC encoder implementation based on AVX2 intrinsics. More... | |
| class | ldpc_encoder_factory |
| class | ldpc_encoder_generic |
| Generic LDPC encoder implementation without any optimization. More... | |
| class | ldpc_encoder_impl |
| Template LDPC encoder. More... | |
| class | ldpc_encoder_neon |
| LDPC encoder implementation based on NEON intrinsics. More... | |
| class | ldpc_graph_impl |
| Describes the Tanner graph of an LDPC code (implementation). More... | |
| class | ldpc_rate_dematcher |
| LDPC rate dematcher interface. It reverts the operations of ldpc_rate_matcher. More... | |
| class | ldpc_rate_dematcher_avx2_impl |
| class | ldpc_rate_dematcher_avx512_impl |
| class | ldpc_rate_dematcher_factory |
| class | ldpc_rate_dematcher_impl |
| LDPC rate dematching implementation. More... | |
| class | ldpc_rate_dematcher_neon_impl |
| class | ldpc_rate_matcher |
| LDPC rate matching (i.e., bit selection and bit interleaving) interface. More... | |
| class | ldpc_rate_matcher_factory |
| class | ldpc_rate_matcher_impl |
| LDPC rate matching implementation, as per TS38.212 Section 5.4.2. More... | |
| class | ldpc_segmenter_impl |
| Generic implementation of LDPC segmentation. More... | |
| class | ldpc_segmenter_rx |
| Carries out the segmentation of a codeword into a number of codeblocks. More... | |
| class | ldpc_segmenter_rx_factory |
| class | ldpc_segmenter_tx |
| Carries out the segmentation of a transport block into a number of codeblocks. More... | |
| class | ldpc_segmenter_tx_factory |
| struct | log_appconfig |
| Configuration of logging functionalities. More... | |
| class | log_likelihood_ratio |
| Represents log-likelihood ratio (LLR) values. More... | |
| class | log_sink_message_spy |
| class | log_sink_spy |
| This custom sink intercepts log messages to count error and warning log entries. More... | |
| class | logger_event_tracer |
| Class that repurposes a log channel to write trace events. More... | |
| class | logger_event_tracer< false > |
| class | logging_pusch_processor_decorator |
| struct | logical_channel_config |
LogicalChannelConfig, TS 38.331. More... | |
| struct | long_bsr_report |
| class | low_papr_sequence_collection |
| Describes a low PAPR sequence collection as per TS38.211 Section 5.2.2. More... | |
| class | low_papr_sequence_collection_factory |
| class | low_papr_sequence_collection_impl |
| Pre-generates and collects low PAPR sequences. More... | |
| class | low_papr_sequence_generator |
| Describes a low PAPR sequence generator interface that implements TS38.211 Section 5.2.2 for any possible length. More... | |
| class | low_papr_sequence_generator_factory |
| class | low_papr_sequence_generator_impl |
| Describes a generic low PAPR sequence generation implementation. More... | |
| class | lower_phy |
| Lower PHY main interface. More... | |
| class | lower_phy_baseband_processor |
| Implements the lower physical layer baseband processing core. More... | |
| struct | lower_phy_configuration |
| Lower physical layer configuration. More... | |
| class | lower_phy_controller |
| Lower physical layer - control interface. More... | |
| class | lower_phy_downlink_processor |
| Downlink processor main interface. More... | |
| class | lower_phy_downlink_processor_factory |
| Lower physical layer downlink processor - Factory interface. More... | |
| class | lower_phy_error_notifier |
| Lower physical layer interface used to notify miscellaneous types of error events. More... | |
| class | lower_phy_factory |
| Lower physical layer factory. More... | |
| class | lower_phy_impl |
| Lower physical layer implementation. More... | |
| class | lower_phy_request_handler |
| Describes the lower physical layer request handler. More... | |
| class | lower_phy_rg_handler |
| Lower physical layer resource grid handler interface. More... | |
| struct | lower_phy_rx_symbol_context |
| Describes the context of a newly received symbol. More... | |
| class | lower_phy_rx_symbol_notifier |
| Lower physical layer notifier for events related to received symbols. More... | |
| struct | lower_phy_sector_description |
| Describes a sector configuration. More... | |
| struct | lower_phy_threads_appconfig |
| Lower PHY thread configuration fo the gNB. More... | |
| struct | lower_phy_timing_context |
| Describes the context of the current timing boundary. More... | |
| class | lower_phy_timing_notifier |
| Lower physical layer interface to notify timing related events. More... | |
| class | lower_phy_uplink_processor |
| Uplink processor main interface. More... | |
| class | lower_phy_uplink_processor_factory |
| Lower physical layer uplink processor - Factory interface. More... | |
| class | lower_phy_uplink_processor_impl |
| Implements a software generic lower PHY uplink processor. More... | |
| struct | mac_bsr_appconfig |
| MAC Buffer Status Report application configuration. More... | |
| struct | mac_bsr_ce_info |
| Information and context relative to a decoded MAC CE BSR. More... | |
| struct | mac_ce_scheduling_command |
| Command used by MAC to trigger the scheduling of a DL MAC CE for a UE. More... | |
| class | mac_cell_control_information_handler |
| Interface to handle feedback information from the PHY. More... | |
| class | mac_cell_controller |
| Interface used to handle a MAC cell activation/deactivation. More... | |
| struct | mac_cell_creation_request |
| struct | mac_cell_group_appconfig |
| struct | mac_cell_group_config |
MAC-CellGroupConfig, TS 38.331. More... | |
| struct | mac_cell_group_params |
Parameters that are used to initialize or build the MAC-CellGroupConfig, TS 38.331. More... | |
| class | mac_cell_manager |
| Class used to setup the MAC cells and slices. More... | |
| class | mac_cell_processor |
| class | mac_cell_rach_handler |
| Interface used to handle RACH indications specific to a cell. More... | |
| class | mac_cell_result_notifier |
| class | mac_cell_slot_handler |
| Interface used to handle slot indications specific to a cell. More... | |
| struct | mac_cell_start |
| Start configured cell. More... | |
| struct | mac_config |
| Configuration passed to MAC during its instantiation. More... | |
| struct | mac_control_config |
| class | mac_controller |
| struct | mac_crc_indication_message |
| List of Uplink CRC indications for a given slot. More... | |
| struct | mac_crc_pdu |
| CRC indication for a given PDU. More... | |
| struct | mac_csi_rs_precoding_info |
| class | mac_ctrl_configurator |
| struct | mac_dl_buffer_state_indication_message |
| DL Buffer state for a given RLC bearer. More... | |
| struct | mac_dl_config |
| class | mac_dl_configurator |
| struct | mac_dl_data_result |
| List of DL PDUs produced by MAC in a given slot and cell. More... | |
| class | mac_dl_processor |
| struct | mac_dl_sched_result |
| DL Scheduling Request generated by the MAC and received by the PHY. More... | |
| class | mac_dl_ue_context |
| Context of a UE in the MAC DL. More... | |
| class | mac_dl_ue_manager |
| Repository of UE MAC DL contexts. More... | |
| struct | mac_expert_config |
| Implementation-specific parameters used to tune MAC operation. More... | |
| class | mac_impl |
| class | mac_interface |
| struct | mac_lc_appconfig |
| struct | mac_lc_config |
| Configurations for MAC logical channel parameters. More... | |
| struct | mac_log_prefix |
| struct | mac_logical_channel_config |
| Parameters passed to MAC concerning a created logical channel. More... | |
| struct | mac_nr_context_info |
| class | mac_paging_information_handler |
| Interface to handle paging information from the CU-CP. More... | |
| class | mac_pcap |
| Interface class for writing a MAC PCAP to a file. More... | |
| class | mac_pcap_impl |
| struct | mac_pdcch_precoding_info |
| struct | mac_pdsch_precoding_info |
| MAC PDSCH precoding information. More... | |
| class | mac_pdu_handler |
| Interface used to push Rx Data indications to L2. More... | |
| struct | mac_phr_appconfig |
| MAC Power Headroom Reporting configuration. More... | |
| struct | mac_phr_ce_info |
| Information and context relative to a decoded MAC CE PHR. More... | |
| struct | mac_rach_indication |
| class | mac_result_notifier |
| struct | mac_rx_data_indication |
| Rx_Data.indication Message. More... | |
| struct | mac_rx_pdu |
| MAC Received PDU that comprises the list of PDUs of Rx_Data.indication. More... | |
| class | mac_scheduler |
| class | mac_scheduler_adapter |
| Interface from MAC to a scheduler implementation. More... | |
| class | mac_scheduler_ce_info_handler |
| Interface between MAC and scheduler that is used by MAC to forward MAC CE information and force UL grants. More... | |
| class | mac_scheduler_cell_info_handler |
| Interface used by MAC Cell Processor to interact with the MAC scheduler. More... | |
| class | mac_scheduler_configurator |
| Adapter interface between MAC and scheduler that allows the srsGNB MAC to configure different scheduler implementations. Note: This adapter interface makes scheduler configuration methods awaitable. More... | |
| class | mac_sdu_rx_notifier |
| This interface notifies to upper layers the reception of new SDUs over a logical channel. More... | |
| class | mac_sdu_tx_builder |
| This interface represents the entry point of a logical channel in the MAC layer. More... | |
| struct | mac_slice_configuration |
| Network slice configuration. More... | |
| struct | mac_sr_appconfig |
| MAC Scheduler Request configuration. More... | |
| struct | mac_ssb_precoding_info |
| class | mac_test_mode_adapter |
| class | mac_test_mode_cell_adapter |
| Adapter of MAC cell for testing purposes. It automatically forces ACK/CRC=OK for the test UE. More... | |
| struct | mac_uci_indication_message |
| UCI indication that may contain multiple UCI PDUs. More... | |
| struct | mac_uci_pdu |
| UCI indication for a given PDU. More... | |
| class | mac_ue_configurator |
| Interface used to manage the creation, reconfiguration and deletion of UEs in MAC. More... | |
| struct | mac_ue_context |
| class | mac_ue_control_information_handler |
| struct | mac_ue_create_request |
| Input parameters used to create a UE in the scheduler. More... | |
| class | mac_ue_create_request_procedure |
| struct | mac_ue_create_response |
| Outcome of a MAC UE creation request procedure. More... | |
| class | mac_ue_delete_procedure |
| struct | mac_ue_delete_request |
| Input parameters used to delete a UE in the scheduler. More... | |
| struct | mac_ue_delete_response |
| Outcome of a MAC UE deletion request procedure. More... | |
| class | mac_ue_radio_link_notifier |
| Interface used to notify detected radio link failures in the MAC (e.g. due to max KOs reached) for a given UE. More... | |
| class | mac_ue_reconfiguration_procedure |
| struct | mac_ue_reconfiguration_request |
| Input parameters used to reconfigure a UE in the scheduler. More... | |
| struct | mac_ue_reconfiguration_response |
| Outcome of a MAC UE reconfiguration request procedure. More... | |
| class | mac_ul_ccch_notifier |
| Methods used by MAC to notify events. More... | |
| struct | mac_ul_config |
| class | mac_ul_configurator |
| class | mac_ul_processor |
| class | mac_ul_sch_pdu |
| class | mac_ul_sch_subpdu |
| struct | mac_ul_sched_result |
| struct | mac_ul_scheduling_command |
| Command used by MAC to force the scheduling of an UL grant for a UE in the scheduler. More... | |
| class | mac_ul_ue_context |
| Stores MAC UL UE context. In particular, the UL PDU notifiers for each logical channel. More... | |
| class | mac_ul_ue_manager |
| class | manual_event |
| Awaitable type that can be manually set to one of the states: More... | |
| class | manual_event< void > |
| Specialization of manual_event<Data> for the case that the Data is void. More... | |
| class | manual_task_worker |
| Task worker that implements the executor interface and requires manual calls to run pending deferred tasks. Useful for unit testing. More... | |
| struct | metrics_appconfig |
| Metrics report configuration. More... | |
| class | metrics_hub |
| class | metrics_hub_source |
| This class is used to create a source object in the metrics hub to which one or more subscribers can be connected. More... | |
| class | metrics_plotter_json |
| Class used to receive metrics reports from scheduler and format them into a JSON file. More... | |
| class | metrics_plotter_stdout |
| Class used to receive metrics reports from scheduler and pretty-print them to the console. More... | |
| struct | mobility_appconfig |
| All mobility related configuration parameters. More... | |
| class | modulation_mapper |
| Modulation mapper public interface. More... | |
| class | modulation_mapper_impl |
| Modulation mapper based on look-up tables. More... | |
| struct | moveonly_test_object |
| Test object to verify correct move ctor/assignment logic. More... | |
| class | network_gateway_controller |
| Interface to control common parameters to all network gateways, such as create(), bind(), etc. Gateway specializations should add specific methods as required. More... | |
| class | network_gateway_data_notifier |
| Interface to inform upper layers about reception of new PDUs. More... | |
| class | network_gateway_data_notifier_with_src_addr |
| Interface to inform upper layers about reception of new PDUs and source address. More... | |
| struct | ng_ran_qos_support_item_t |
| struct | no_fail_response_path |
| class | non_blocking_enqueuer |
Static interface used to push elements to a concurrent_queue. More... | |
| struct | non_dyn_5qi_descriptor_t |
| struct | non_rt_threads_appconfig |
| Non real time thread configuration for the gNB. More... | |
| struct | nondefault_ctor_test_object |
| struct | noop_coroutine_promise |
| Coroutine whose resumption does nothing. More... | |
| struct | nr_cell_global_id_t |
| The NR Cell Global Identity (NR-CGI) More... | |
| struct | nr_cgi_support_item_t |
| struct | nr_multi_band_info |
| struct | nr_ns_p_max_value |
| struct | nr_up_dl_message |
| NR user plane protocol downlink message as described in TS 38.425. More... | |
| struct | nr_up_ul_message |
| NR user plane protocol uplink message as described in TS 38.425. More... | |
| struct | nru_assistance_information |
| struct | nru_dl_data_delivery_status |
| struct | nru_dl_message |
| NR-U DL message exchanged from node holding a PDCP entity (CU-UP) to the peer node (DU). More... | |
| struct | nru_dl_user_data |
| struct | nru_lost_nru_sn_range |
| struct | nru_pdcp_sn_discard_block |
| struct | nru_ul_message |
| NR-U UL message exchanged from node the peer node (DU) to the node holding a PDCP entity (CU-UP). More... | |
| struct | ntn_config |
| class | null_dlt_pcap |
| Null sink for DLT pcap messages. This is useful in unit tests and when the application disables pcaps. More... | |
| class | null_mac_pcap |
| Null sink for MAC pcap messages. This is useful in unit tests and when the application disables pcaps. More... | |
| class | null_rlc_pcap |
| Dummy implementation RLC PCAP for testing. More... | |
| struct | nullopt_t |
| Empty class type to represent empty optional objects. More... | |
| class | nzp_csi_rs_configuration_validator |
| Describes the NZP-CSI-RS generator configuration validator interface. More... | |
| class | nzp_csi_rs_configuration_validator_impl |
| Implements a parameter validator for nzp_csi_rs_generator_impl. More... | |
| class | nzp_csi_rs_generator |
| class | nzp_csi_rs_generator_factory |
| class | nzp_csi_rs_generator_impl |
| Defines a NZP-CSI-RS signal generator. More... | |
| class | nzp_csi_rs_generator_pool |
| Concurrent NZP-CSI-RS generator pool. More... | |
| struct | nzp_csi_rs_resource |
| NZP-CSI-RS-Resource is used to configure Non-Zero-Power (NZP) CSI-RS transmitted in the cell. More... | |
| struct | nzp_csi_rs_resource_set |
| struct | obj_id_comparator |
| Creates an functor that applies operator< comparison between objects based on their id. More... | |
| struct | ofdm_demodulator_common_configuration |
| OFDM demodulator factory configuration. Provides the necessary dependency instances. More... | |
| struct | ofdm_demodulator_configuration |
| Setup configuration parameters. More... | |
| class | ofdm_demodulator_factory |
| Describes an OFDM demodulator factory. More... | |
| struct | ofdm_factory_generic_configuration |
| Describes the necessary parameters for creating generic OFDM modulator and demodulator factories. More... | |
| struct | ofdm_modulator_common_configuration |
| OFDM modulator factory configuration. Provides the necessary dependency instances. More... | |
| struct | ofdm_modulator_configuration |
| Setup configuration parameters. More... | |
| class | ofdm_modulator_factory |
| Describes an OFDM modulator factory. More... | |
| class | ofdm_prach_demodulator |
| OFDM PRACH demodulator. More... | |
| class | ofdm_prach_demodulator_factory |
| OFDM PRACH demodulator factory. More... | |
| class | ofdm_prach_demodulator_impl |
| Describes a generic OFDM PRACH demodulator. More... | |
| class | ofdm_slot_demodulator |
| Describes an OFDM demodulator with slot granularity. More... | |
| class | ofdm_slot_demodulator_impl |
| Describes a generic OFDM slot demodulator. More... | |
| class | ofdm_slot_modulator |
| Describes an OFDM modulator with slot granularity. More... | |
| class | ofdm_slot_modulator_impl |
| Describes a generic OFDM slot modulator. More... | |
| class | ofdm_symbol_demodulator |
| Describes an OFDM demodulator that demodulates at symbol granularity. More... | |
| class | ofdm_symbol_demodulator_impl |
| Describes a generic OFDM symbol demodulator. More... | |
| class | ofdm_symbol_modulator |
| Describes an OFDM modulator that modulates at symbol granularity. More... | |
| class | ofdm_symbol_modulator_impl |
| Describes a generic OFDM symbol modulator. More... | |
| struct | ofdm_symbol_range |
| Range [start,stop) of OFDM symbols. More... | |
| struct | ofh_threads_appconfig |
| Open Fronthaul thread configuration for the gNB. More... | |
| class | olla_algorithm |
| Outer-layer Link Adaptation (OLLA) algorithm, which modifies SNR thresholds used in the selection of MCS to achieve a specified target BLER. More... | |
| class | optional |
| Optional objects. More... | |
| struct | orbital_coordinates_t |
| struct | os_sched_affinity_bitmask |
| CPU affinity bitmap. More... | |
| class | os_thread_realtime_priority |
| struct | os_thread_realtime_priority_tag |
| struct | packet_error_rate_t |
| struct | paging_appconfig |
| Paging related configuration. See TS 38.331, PCCH-Config. More... | |
| struct | paging_information |
| class | paging_pdu_assembler |
| Encodes Paging PDUs based on Paging information provided by the scheduler. More... | |
| class | paging_scheduler |
| Defines Paging scheduler that is used to allocate resources to send paging information to UE in a given slot. More... | |
| struct | paging_ue_info |
| class | pbch_encoder |
| Describes the PBCH encoder interface. More... | |
| class | pbch_encoder_factory |
| class | pbch_encoder_impl |
| class | pbch_modulator |
| Describes a PBCH modulator interface. More... | |
| class | pbch_modulator_factory |
| class | pbch_modulator_impl |
| struct | pcap_appconfig |
| class | pcap_file_writer |
| Base class for PCAP writing to files. The class in not thread-safe. Proper protection from multiple threads needs to be implemented by the user of the class. More... | |
| struct | pcap_hdr_t |
| This structure gets written to the start of the file. More... | |
| class | pcap_pdu_data |
| struct | pcap_rlc_pdu_context |
| Context information for every RLC NR PDU that will be logged. More... | |
| struct | pcaprec_hdr_t |
| This structure precedes each packet. More... | |
| struct | pcch_config |
| Used to paging related configuration. More... | |
| class | pcell_ue_executor_mapper |
| L2 UL executor mapper that maps UEs based on their PCell. More... | |
| struct | pdcch_appconfig |
| PDCCH application configuration. More... | |
| struct | pdcch_candidates_common_ss_configuration |
| struct | pdcch_candidates_ue_ss_configuration |
| struct | pdcch_common_appconfig |
| PDCCH Common configuration. More... | |
| struct | pdcch_config |
| "PDCCH-Config" - UE-dedicated PDCCH configuration as per TS 38.331. More... | |
| struct | pdcch_config_common |
| class | pdcch_context |
| PDCCH transmission context. More... | |
| struct | pdcch_dedicated_appconfig |
| PDCCH Dedicated configuration. More... | |
| struct | pdcch_dl_information |
| PDCCH DL allocation. More... | |
| class | pdcch_encoder |
| Describes the PDCCH encoder interface. More... | |
| class | pdcch_encoder_factory |
| class | pdcch_encoder_impl |
| PDCCH encoder, as per TS38.212 Section 7.3. More... | |
| class | pdcch_modulator |
| Describes a PDCCH modulator interface. More... | |
| class | pdcch_modulator_factory |
| class | pdcch_modulator_impl |
| class | pdcch_pdu_validator |
| Describes the PDCCH processor validator interface. More... | |
| struct | pdcch_precoding_info |
| The precoding information associated with PDCCH PDUs. More... | |
| class | pdcch_processor |
| Describes the PDCCH processor interface. More... | |
| struct | pdcch_processor_config_t |
| Describes the PDCCH processor generic implementation constructor configuration. More... | |
| class | pdcch_processor_factory |
| class | pdcch_processor_impl |
| Describes a generic PDCCH processor. More... | |
| class | pdcch_processor_pool |
| Concurrent PDCCH processor pool. More... | |
| class | pdcch_processor_validator_impl |
| Implements a parameter validator for pdcch_processor_impl. More... | |
| class | pdcch_resource_allocator |
| PDCCH resource allocation algorithm for a single cell and for both common and UE-dedicated CORESETs. More... | |
| class | pdcch_resource_allocator_impl |
| class | pdcch_slot_allocator |
| struct | pdcch_type0_css_coreset_description |
| Describes the CORESET for Type0-PDCCH CSS. More... | |
| struct | pdcch_type0_css_occasion_pattern1_configuration |
| Describes a Type0-PDCCH CSS monitoring occasion configuration parameters for pattern 1. More... | |
| struct | pdcch_type0_css_occasion_pattern1_description |
| Describes a Type0-PDCCH CSS monitoring occasions for pattern 1. More... | |
| struct | pdcch_ul_information |
| PDCCH UL allocation. More... | |
| struct | pdcp_appconfig |
| class | pdcp_bearer_log_prefix |
| struct | pdcp_config |
| Configurable parameters for PDCP. More... | |
| struct | pdcp_config_common |
| Configurable parameters for PDCP that are common for both TX and RX. More... | |
| struct | pdcp_control_pdu_header |
| struct | pdcp_custom_config |
| Non-standard configurable parameters for PDCP. More... | |
| struct | pdcp_custom_config_base |
| struct | pdcp_custom_config_rx |
| struct | pdcp_custom_config_tx |
| struct | pdcp_data_pdu_header |
| class | pdcp_entity |
| struct | pdcp_entity_creation_message |
| class | pdcp_entity_impl |
| class | pdcp_entity_rx |
| class | pdcp_entity_tx |
| class | pdcp_entity_tx_rx_base |
| struct | pdcp_max_count |
| struct | pdcp_metrics_container |
| struct | pdcp_rx_appconfig |
| struct | pdcp_rx_config |
| class | pdcp_rx_lower_interface |
| class | pdcp_rx_metrics |
| struct | pdcp_rx_metrics_container |
| This struct will hold relevant metrics for the PDCP RX. More... | |
| class | pdcp_rx_metrics_interface |
| struct | pdcp_rx_sdu_info |
| struct | pdcp_rx_state |
| class | pdcp_rx_status_provider |
| class | pdcp_rx_upper_control_interface |
| class | pdcp_rx_upper_control_notifier |
| class | pdcp_rx_upper_data_notifier |
| struct | pdcp_tx_appconfig |
| struct | pdcp_tx_config |
| class | pdcp_tx_lower_interface |
| class | pdcp_tx_lower_notifier |
| class | pdcp_tx_metrics |
| struct | pdcp_tx_metrics_container |
| This struct will hold relevant metrics for the PDCP TX. More... | |
| class | pdcp_tx_metrics_interface |
| struct | pdcp_tx_pdu |
| struct | pdcp_tx_state |
| class | pdcp_tx_status_handler |
| class | pdcp_tx_upper_control_interface |
| class | pdcp_tx_upper_control_notifier |
| class | pdcp_tx_upper_data_interface |
| struct | pdsch_antenna_ports_mapping |
| Antenna ports mapping information for PDSCH when using DCI format 1_1. See TS 38.212 Tables 7.3.1.2.2-1/2/3/4. More... | |
| struct | pdsch_appconfig |
| PDSCH application configuration. More... | |
| class | pdsch_block_processor |
| Internal PDSCH subprocessor. More... | |
| struct | pdsch_code_block_group_transmission |
PDSCH-CodeBlockGroupTransmission, as per TS38.331. More... | |
| class | pdsch_codeblock_processor |
| PDSCH codeblock processor. More... | |
| struct | pdsch_codeword |
| PDSCH codeword. More... | |
| struct | pdsch_config |
| "PDSCH-Config" - UE-dedicated PDSCH Configuration as per TS38.331. More... | |
| struct | pdsch_config_common |
| struct | pdsch_config_params |
| class | pdsch_context |
| PDSCH transmission context. More... | |
| struct | pdsch_default_time_allocation_config |
| Collects the PDSCH default time-domain allocation parameters. More... | |
| struct | pdsch_dmrs_symbol_mask_mapping_type_A_single_configuration |
| Collects the necessary parameters to calculate the DMRS symbol mask for a TypeA PDSCH mapping and single duration DMRS. More... | |
| class | pdsch_encoder |
| PDSCH encoder, as per TS38.212 Section 7.2. More... | |
| class | pdsch_encoder_factory |
| struct | pdsch_encoder_factory_hw_configuration |
| HW-accelerated PDSCH encoder factory configuration parameters. More... | |
| struct | pdsch_encoder_factory_sw_configuration |
| class | pdsch_encoder_hw_impl |
| Generic hardware-accelerated implementation of the PDSCH encoder. More... | |
| class | pdsch_encoder_impl |
| Generic implementation of the PDSCH encoder. More... | |
| struct | pdsch_information |
| Information relative to a PDSCH grant in a given slot. More... | |
| class | pdsch_modulator |
| Describes a PDSCH modulator interface. More... | |
| class | pdsch_modulator_factory |
| class | pdsch_modulator_impl |
| Describes a generic implementation of a PDSCH modulator, defined by TS 38.211 section 7.3.1. More... | |
| class | pdsch_pdu_validator |
| Describes the PDSCH processor validator interface. More... | |
| struct | pdsch_precoding_info |
| The precoding information associated with PDSCH PDUs. More... | |
| class | pdsch_processor |
| Describes the PDSCH processor interface. More... | |
| struct | pdsch_processor_concurrent_configuration |
| Concurrent PDSCH processor configuration parameters. More... | |
| class | pdsch_processor_concurrent_impl |
| Implements a PDSCH processor with concurrent codeblock processing. More... | |
| class | pdsch_processor_factory |
| struct | pdsch_processor_generic_configuration |
| Generic PDSCH processor configuration parameters. More... | |
| class | pdsch_processor_impl |
| Implements a generic PDSCH processor. More... | |
| struct | pdsch_processor_lite_configuration |
| Lite PDSCH processor configuration parameters. More... | |
| class | pdsch_processor_lite_impl |
| Implements a PDSCH processor with low memory footprint codeblock processing. More... | |
| class | pdsch_processor_notifier |
| class | pdsch_processor_pool |
| PDSCH processor pool. More... | |
| class | pdsch_processor_validator_impl |
| Implements a parameter validator for pdsch_processor_impl. More... | |
| struct | pdsch_serving_cell_config |
PDSCH-ServingCellConfig, as per TS38.331. More... | |
| struct | pdsch_time_domain_resource_allocation |
| class | pdu_rx_handler |
| class | pdxch_processor |
| PDxCH processor main interface. More... | |
| class | pdxch_processor_baseband |
| Lower physical layer PDxCH processor - Baseband interface. More... | |
| struct | pdxch_processor_configuration |
| Collects the necessary parameters to create a PDxCH processor. More... | |
| class | pdxch_processor_factory |
| Lower physical layer PDxCH processor - Factory interface. More... | |
| class | pdxch_processor_impl |
| Implements PDxCH baseband processor. More... | |
| class | pdxch_processor_notifier |
| Lower physical layer PDxCH processor - Notifier interface. More... | |
| class | pdxch_processor_request_handler |
| Lower physical layer downlink processor - Request handler interface. More... | |
| class | phase_compensation_lut |
| Phase compensation as per TS38.211 Section 5.4. More... | |
| struct | phr_config |
PHR-Config, TS 38.331. More... | |
| struct | phr_report |
| UL Power Headroom Report (PHR). More... | |
| struct | phy_cell_group_appconfig |
Parameters that are used to initialize or build the PhysicalCellGroupConfig, TS 38.331. More... | |
| struct | phy_cell_group_params |
Parameters that are used to initialize or build the PhysicalCellGroupConfig, TS 38.331. More... | |
| class | phy_error_adapter |
| Implements a generic physical layer error adapter. More... | |
| class | phy_rg_gateway_adapter |
| Implements a generic physical layer resource grid gateway adapter. More... | |
| class | phy_rx_symbol_adapter |
| Implements a generic physical layer receive symbol adapter. More... | |
| class | phy_rx_symbol_request_adapter |
| Implements a generic physical layer adapter for symbol capture event requests. More... | |
| class | phy_test_mode_adapter |
| class | phy_time_unit |
| Physical layer time unit. More... | |
| class | phy_timing_adapter |
| Implements a generic physical layer timing adapter. More... | |
| struct | physical_cell_group_config |
PhysicalCellGroupConfig, TS 38.331. More... | |
| class | polar_allocator |
| class | polar_allocator_impl |
| class | polar_code |
| Polar code interface. More... | |
| class | polar_code_impl |
| Implementation of the polar code interface based on look-up tables. More... | |
| class | polar_deallocator |
| class | polar_deallocator_impl |
| class | polar_decoder |
| Polar decoder interface. More... | |
| class | polar_decoder_impl |
| Polar decoder implementation. More... | |
| class | polar_encoder |
| class | polar_encoder_impl |
| class | polar_factory |
| class | polar_interleaver |
| class | polar_interleaver_impl |
| class | polar_rate_dematcher |
| Polar code rate dematching interface. It reverts the operations of polar_rate_matcher. More... | |
| class | polar_rate_dematcher_impl |
| Polar code rate dematching implementation. More... | |
| class | polar_rate_matcher |
| class | polar_rate_matcher_impl |
| class | port_channel_estimator |
| DM-RS-based channel estimator for one receive antenna port. More... | |
| class | port_channel_estimator_average_impl |
| Port channel estimator that averages all OFDM symbols containing DM-RS. More... | |
| class | port_channel_estimator_factory |
| struct | prach_appconfig |
| PRACH application configuration. More... | |
| class | prach_buffer |
| PRACH buffer interface. More... | |
| struct | prach_buffer_context |
| Collects PRACH time and frequency mapping parameters. More... | |
| class | prach_buffer_impl |
| PRACH buffer with a fix storage size at initialization. More... | |
| class | prach_buffer_pool |
| Pool of PRACH buffers. More... | |
| class | prach_buffer_pool_impl |
| Implementation of the PRACH buffer pool. More... | |
| struct | prach_configuration |
| Contains the PRACH configuration parameters. More... | |
| struct | prach_detection_result |
| Describes a PRACH detection result. More... | |
| class | prach_detector |
| Describes a PRACH detector interface. More... | |
| class | prach_detector_factory |
| struct | prach_detector_factory_sw_configuration |
| class | prach_detector_generic_impl |
| Implements a simple PRACH detector. More... | |
| class | prach_detector_pool |
| Concurrent PRACH detector pool. More... | |
| class | prach_detector_validator |
| Describes the PRACH detector validator interface. More... | |
| class | prach_detector_validator_impl |
| Implements a parameter validator for prach_detector_simple_impl. More... | |
| struct | prach_frequency_mapping_information |
| Collects PRACH frequency mapping information as per TS38.211 Section 5.3.2 and Section 6.3.3.2. More... | |
| class | prach_generator |
| PRACH generator interface. More... | |
| class | prach_generator_factory |
| class | prach_generator_impl |
| On-demand PRACH time-domain signal generator. More... | |
| struct | prach_occasion_info |
| struct | prach_preamble_information |
| Collects PRACH preamble information parameters. More... | |
| class | prach_processor |
| PRACH processor main interface. More... | |
| class | prach_processor_baseband |
| Lower physical layer PRACH processor - Baseband interface. More... | |
| class | prach_processor_factory |
| Lower physical layer PRACH processor - Factory interface. More... | |
| class | prach_processor_impl |
| PRACH processor implementation. More... | |
| class | prach_processor_notifier |
| Lower physical layer PRACH processor - Notifier interface. More... | |
| class | prach_processor_request_handler |
| Lower physical layer PRACH processor - Request handler interface. More... | |
| class | prach_processor_worker |
| Lower PHY PRACH processor worker subcomponent. More... | |
| class | prach_scheduler |
| struct | prach_symbols_slots_duration |
| Collects PRACH preamble duration information. More... | |
| struct | prb_bundling |
| Indicates the PRB bundle type and bundle size(s). More... | |
| struct | prb_interval |
| Struct to express a {min,...,max} range of PRB indexes within a BWP. More... | |
| struct | prbs_calculator_sch_config |
| Collects the parameters to calculate the num. of PRBS given the payload size, for a PDSCH transmission. More... | |
| class | precoding_configuration |
| Precoder configuration. More... | |
| class | precoding_weight_matrix |
| Precoding matrix, consisting of complex coefficients arranged by i) transmit layers and ii) antenna ports. More... | |
| class | prefixed_logger |
| class | priority_enqueuer |
Static interface used to push elements to a concurrent_queue both in a blocking or non-blocking fashion. More... | |
| class | priority_task_worker |
| Task worker that can handle tasks with different levels of priority. More... | |
| class | priority_task_worker_executor |
Task executor with Priority (lower is higher) for priority_task_worker. More... | |
| class | priority_task_worker_pool_executor |
| Task executor that pushes tasks to worker pool with a given priority. More... | |
| class | processor_handler_adaptor |
| Adapts the lower physical layer handlers to the internal processors request handlers. More... | |
| class | processor_notifier_adaptor |
| Lower physical layer processor notification adaptor. More... | |
| class | processor_pool_repository |
| Repository of processor pools. More... | |
| class | protocol_transaction |
| Protocol Transaction Awaitable. This awaitable is single-use, after which, the respective transaction_manager class will reset its underlying event state. More... | |
| class | protocol_transaction_event_source |
| Publisher of application protocol transaction outcomes to which an observer can subscribe to. More... | |
| class | protocol_transaction_manager |
Manager of multiple concurrent protocol transactions. Each managed transaction can be uniquely identified by a "transaction_id" integer value, which is automatically assigned by the protocol_transaction_manager. Transactions are single-use, meaning that the user will have to create new transaction objects, with different transaction_ids for every message exchange. To create a new transaction, the user may call "create_transaction(...)", where a timeout for the transaction can be optionally defined. More... | |
| class | protocol_transaction_outcome_observer |
| Observer of application protocol transaction outcome. More... | |
| class | pseudo_random_generator |
| Pseudo-random sequence generator interface compliant to TS38.211 Section 5.2.1. More... | |
| class | pseudo_random_generator_factory |
| class | pseudo_random_generator_fast_advance |
| Implements a pseudo-random fast state advance class. More... | |
| class | pseudo_random_generator_fast_advance< 0 > |
| Specialized fast advance with maximum number of steps equal to zero. More... | |
| class | pseudo_random_generator_impl |
| SSE-optimized implementation of the pseudo-random generator. More... | |
| class | pseudo_random_generator_sequence |
| Generates the pseudo-random sequence defined in TS38.211 Section 5.2.1. More... | |
| class | pseudo_random_initializer_x1 |
State sequence ![]() | |
| class | pseudo_random_initializer_x2 |
State sequence ![]() | |
| class | pss_processor |
| Describes a PSS processor interface. More... | |
| class | pss_processor_factory |
| class | pss_processor_impl |
| struct | psup_dl_pdu_session_information |
| class | psup_packing |
| struct | psup_ul_pdu_session_information |
| struct | ptrs_uplink_config |
| Associates one or two DL reference signals with a corresponding quasi-colocation (QCL) type. More... | |
| class | pucch_allocator |
| PUCCH scheduling interface. More... | |
| class | pucch_allocator_impl |
| Implementation of the PUCCH allocator interface. More... | |
| struct | pucch_appconfig |
| struct | pucch_builder_params |
| Parameters for PUCCH configuration. Defines the parameters that are used for the PUCCH configuration builder. These parameters are used to define the number of PUCCH resources, as well as the PUCCH format-specific parameters. More... | |
| struct | pucch_common_all_formats |
| struct | pucch_config |
PUCCH-Config, TS 38.331. More... | |
| struct | pucch_config_common |
| class | pucch_context |
| PUCCH transmission context. More... | |
| struct | pucch_default_resource |
| Collects the default PUCCH resource parameters given by TS38.213 Table 9.2.1-1. More... | |
| class | pucch_demodulator |
| PUCCH demodulator interface for Formats 2, 3 and 4. More... | |
| class | pucch_demodulator_factory |
| class | pucch_demodulator_impl |
| PUCCH demodulator implementation. More... | |
| class | pucch_detector |
| PUCCH detector interface for Formats 0 and 1. More... | |
| class | pucch_detector_factory |
| class | pucch_detector_impl |
| PUCCH detector implementation for Formats 0 and 1. More... | |
| struct | pucch_f1_params |
| Collects the parameters for PUCCH Format 1 that can be configured. More... | |
| struct | pucch_f2_params |
| Collects the parameters for PUCCH Format 2 that can be configured. More... | |
| struct | pucch_format_0 |
| Scheduler output for PUCCH Format 0. More... | |
| struct | pucch_format_0_cfg |
Configuration for PUCCH-format0, in PUCCH-Config, TS 38.331. More... | |
| struct | pucch_format_1 |
| Scheduler output for PUCCH Format 1. More... | |
| struct | pucch_format_1_cfg |
Configuration for PUCCH-format1, in PUCCH-Config, TS 38.331. More... | |
| struct | pucch_format_2 |
| Scheduler output for PUCCH Format 2. More... | |
| struct | pucch_format_2_3_cfg |
Configuration for PUCCH-format2, in PUCCH-Config, TS 38.331. More... | |
| struct | pucch_format_3 |
| Scheduler output for PUCCH Format 3. More... | |
| struct | pucch_format_4 |
| Scheduler output for PUCCH Format 4. More... | |
| struct | pucch_format_4_cfg |
Configuration for PUCCH-format4, in PUCCH-Config, TS 38.331. More... | |
| class | pucch_guardbands_scheduler |
| struct | pucch_harq_resource_alloc_record |
| Containers used to return the output of the PUCCH resource manager. More... | |
| class | pucch_helper |
| struct | pucch_info |
| Info about PUCCH used resource. More... | |
| class | pucch_orthogonal_sequence |
| class | pucch_pdu_validator |
| Describes the PUCCH processor validator interface. More... | |
| class | pucch_pdu_validator_impl |
| Implements a parameter validator for pucch_processor_impl. More... | |
| class | pucch_processor |
| PUCCH processor interface for all formats. More... | |
| class | pucch_processor_factory |
| class | pucch_processor_impl |
| Implementation of the PUCCH processor interface. More... | |
| class | pucch_processor_pool |
| Concurrent PUCCH processor pool. More... | |
| struct | pucch_processor_result |
| Collects PUCCH processor results. More... | |
| struct | pucch_res_id_t |
| Defines a couple of PUCCH resource IDs, the cell's and UE's resource PUCCH resource ID, respectively. More... | |
| struct | pucch_resource |
PUCCH-Resource, in PUCCH-Config, TS 38.331. More... | |
| class | pucch_resource_manager |
| Class that manages the cell allocation of PUCCH resources across UEs. The correct functioning of pucch_resource_manager is based on the following assumptions: (i) Each UE has max 8 PUCCH F1 and max 8 PUCCH F2 dedicated to HARQ-ACK reporting. (ii) Each UE has max 1 SR-dedicated PUCCH F1 resource and max 1 CSI-dedicated PUCCH F2 resource. (iii) The cell PUCCH resource list can have max 128 PUCCH resource, including all formats; at cell level, there is no constraint on how many resource must be F1, F2, or for SR or for CSI. (vi) UEs can have different PUCCH resource lists; however the PUCCH resource ID is unique with the cell. This implies that if two UEs have the same PUCCH resource within their lists, their PUCCH resource ID must be the same. (v) Indexing of the PUCCH F1 and PUCCH F2 resources for HARQ-ACK reporting must be contiguous within the F1 group and with F2 group. However, the last PUCCH F1 group resource's and the first PUCCH F2 group resource's indices need not be contiguous. E.g., PUCCH F1 indices (for HARQ-ACK reporting) = {0, ..., 7}, and PUCCH F2 indices (for HARQ-ACK reporting) = {10, ..., 17}. More... | |
| struct | pucch_resource_set |
| struct | pucch_resources |
| PRBs and symbols used for PUCCH resources. More... | |
| struct | pucch_tpc_command_config |
| UE Transmit Power Control (TPC) command configuration for PUCCH. More... | |
| struct | pucch_uci_bits |
| Contains the number of UCI HARQ-ACK and CSI information bits of a removed PUCCH grant. More... | |
| class | pucch_uci_message |
| Collects the uplink control information message. More... | |
| struct | pusch_appconfig |
| PUSCH application configuration. More... | |
| class | pusch_codeblock_decoder |
| PUSCH code block decoder. More... | |
| class | pusch_codeword_buffer |
| PUSCH codeword buffer interface. More... | |
| struct | pusch_config |
| Used to configure the UE specific PUSCH parameters applicable to a particular BWP. More... | |
| struct | pusch_config_common |
| struct | pusch_config_params |
| class | pusch_context |
| PUSCH transmission context. More... | |
| class | pusch_decoder |
| PUSCH decoder interface. More... | |
| class | pusch_decoder_buffer |
| PUSCH decoder buffer interface. More... | |
| class | pusch_decoder_buffer_dummy |
| Implements a dummy PUSCH decoder buffer. More... | |
| class | pusch_decoder_factory |
| struct | pusch_decoder_factory_hw_configuration |
| HW-accelerated PUSCH decoder factory configuration parameters. More... | |
| struct | pusch_decoder_factory_sw_configuration |
| class | pusch_decoder_hw_impl |
| Generic hardware-accelerated implementation of the PUSCH decoder. More... | |
| class | pusch_decoder_impl |
| Implementation of the PUSCH decoder. More... | |
| class | pusch_decoder_notifier |
| PUSCH decoder interface to notify the decoding of a transport block. More... | |
| struct | pusch_decoder_result |
| PUSCH decoding statistics. More... | |
| struct | pusch_default_time_allocation_config |
| Collects the PUSCH default time-domain allocation parameters. More... | |
| class | pusch_demodulator |
| PUSCH demodulator interface. More... | |
| class | pusch_demodulator_factory |
| class | pusch_demodulator_impl |
| PUSCH demodulator implementation. More... | |
| class | pusch_demodulator_notifier |
| PUSCH demodulator interface to notify the demodulation statistics of a codeword. More... | |
| struct | pusch_dmrs_symbol_mask_mapping_type_A_single_configuration |
| Collects the necessary parameters to calculate the DM-RS symbol mask for a TypeA PUSCH mapping and single duration DMRS. More... | |
| struct | pusch_information |
| class | pusch_pdu_validator |
| Describes the PUSCH processor validator interface. More... | |
| class | pusch_processor |
| Describes the PUSCH processor interface. More... | |
| class | pusch_processor_csi_part1_feedback |
| class | pusch_processor_factory |
| struct | pusch_processor_factory_sw_configuration |
| class | pusch_processor_impl |
| Implements a generic software PUSCH processor. More... | |
| class | pusch_processor_notifier_adaptor |
| Adapts the notifiers of each PUSCH decoder to the PUSCH processor notifier. More... | |
| class | pusch_processor_pool |
| PUSCH processor pool. More... | |
| struct | pusch_processor_result_control |
| Groups the PUSCH processor UL-SCH control decode results. More... | |
| struct | pusch_processor_result_data |
| Groups the PUSCH processor UL-SCH data decode results. More... | |
| class | pusch_processor_result_notifier |
| PUSCH processor result notifier. More... | |
| class | pusch_processor_validator_impl |
| Implements a parameter validator for pusch_processor_impl. More... | |
| struct | pusch_serving_cell_config |
| Used to configure UE specific PUSCH parameters that are common across the UE's BWPs of one serving cell. More... | |
| struct | pusch_time_domain_resource_allocation |
| struct | pusch_tpc_command_config |
| UE Transmit Power Control (TPC) command configuration for PUSCH. More... | |
| class | pusch_tpmi_select_info |
| PUSCH Transmit Precoding Matrix Indication (TPMI) information. More... | |
| class | pusch_uci_decoder_notifier |
| PUSCH UCI decoder interface to notify the decoding of a UCI message field. More... | |
| class | pusch_uci_decoder_wrapper |
| Decodes UCI messages multiplexed in PUSCH. More... | |
| struct | pusch_uci_field |
| Collects the results of UCI field decoding. More... | |
| class | puxch_processor |
| PUCCH and PUSCH processor main interface. More... | |
| class | puxch_processor_baseband |
| Lower physical layer PUxCH processor - Baseband interface. More... | |
| struct | puxch_processor_configuration |
| Collects the necessary parameters to create a PUxCH processor. More... | |
| class | puxch_processor_factory |
| Lower physical layer PUxCH processor - Factory interface. More... | |
| class | puxch_processor_impl |
| class | puxch_processor_notifier |
| Lower physical layer PUxCH processor - Notifier interface. More... | |
| class | puxch_processor_request_handler |
| Lower physical layer PUxCH processor - Request handler interface. More... | |
| struct | qcl_info |
| Associates one or two DL reference signals with a corresponding quasi-colocation (QCL) type. More... | |
| struct | qos_appconfig |
| QoS configuration. More... | |
| struct | qos_characteristics_t |
| struct | ra_frequency_type1_configuration |
| Describes the resource allocation in frequency domain for Type1 as per TS38.214 Section 5.1.2.2.2 for Downlink and Section 6.1.2.2 for Uplink. More... | |
| struct | ra_frequency_type1_special_configuration |
| Describes the resource allocation in frequency domain for Type1 special case as per TS38.214 Section 5.1.2.2.2 for Downlink and Section 6.1.2.2 for Uplink. More... | |
| class | ra_scheduler |
| Scheduler for PRACH occasions, RAR PDSCHs and Msg3 PUSCH grants. More... | |
| struct | rach_config_common |
| Used to specify the cell-specific random-access parameters as per TS 38.331, "RACH-ConfigCommon". More... | |
| struct | rach_config_generic |
| struct | rach_indication_message |
| RACH indication Message. It contains all the RACHs detected in a given slot and cell. More... | |
| class | radio_base |
| Describes the base interface for radio classes. More... | |
| class | radio_config_uhd_config_validator |
| Radio configuration validator for uhd based radios. More... | |
| class | radio_config_zmq_config_validator |
| Radio configuration validator for ZMQ based radios. More... | |
| class | radio_factory |
| Describes a radio session factory for a determined radio implementation. More... | |
| class | radio_factory_uhd_impl |
| class | radio_factory_zmq_impl |
| Describes a ZeroMQ Radio based factory. More... | |
| class | radio_management_plane |
| Defines a radio baseband unit management plane interface. More... | |
| class | radio_notification_handler |
| Describes a baseband unit event notifier interface. More... | |
| class | radio_notification_handler_counter |
| class | radio_notification_handler_logger |
| class | radio_notification_handler_printer |
| class | radio_notifier_spy |
| class | radio_session |
| Describes a radio baseband unit session interface. More... | |
| class | radio_session_uhd_impl |
| Describes a radio session based on UHD that also implements the management and data plane functions. More... | |
| class | radio_session_zmq_impl |
| Describes a ZeroMQ radio based session. More... | |
| class | radio_uhd_baseband_gateway |
| Implement baseband gateway interface for UHD. More... | |
| class | radio_uhd_device |
| class | radio_uhd_device_type |
| class | radio_uhd_rx_stream |
| Implements a gateway receiver based on UHD receive stream. More... | |
| class | radio_uhd_tx_stream |
| Implements a gateway transmitter based on UHD transmit stream. More... | |
| class | radio_uhd_tx_stream_fsm |
| class | radio_unit |
| Radio Unit interface. More... | |
| class | radio_zmq_baseband_gateway |
| Implement baseband gateway interface for UHD. More... | |
| class | radio_zmq_rx_channel |
| class | radio_zmq_rx_channel_fsm |
| class | radio_zmq_rx_stream |
| Implements a gateway receiver based on ZMQ receive socket. More... | |
| class | radio_zmq_timer |
| class | radio_zmq_tx_align_interface |
| Interface for transmitter alignment from the receiver. More... | |
| class | radio_zmq_tx_channel |
| class | radio_zmq_tx_channel_fsm |
| class | radio_zmq_tx_stream |
| Implements a gateway receiver based on ZMQ transmit socket. More... | |
| struct | rar_information |
| Stores the information associated with a RAR. More... | |
| class | rar_pdu_assembler |
| Encodes RAR PDUs based on RAR information provided by the scheduler. More... | |
| struct | rar_ul_grant |
| RAR grant composed of subheader as per TS38.321 6.2.2, payload as per TS38.321 6.2.3, with UL grant as per TS38.213, Table 8.2-1. More... | |
| struct | rate_match_pattern |
| Rate matching pattern for PDSCH. More... | |
| class | rb_allocation |
| Describes the frequency allocation for PDSCH and PUSCH transmissions. More... | |
| class | rb_id_t |
| Radio Bearer Identity, e.g. SRB1, DRB1, DRB2,... More... | |
| class | re_buffer_reader |
| Resource Element buffer read-only interface. More... | |
| class | re_buffer_reader_view |
| Implements a resource element buffer reader view, with read-only access methods. More... | |
| class | re_buffer_writer |
| Resource Element buffer read-write interface. More... | |
| class | re_buffer_writer_view |
| Implements a resource element buffer writer view, with read-write access methods. More... | |
| class | re_measurement |
| Container interface for RE measurements. More... | |
| struct | re_measurement_dimensions |
| Describes the data structure containing the RE measurements. More... | |
| struct | re_pattern |
| Describes a resource element pattern within a resource grid. More... | |
| class | re_pattern_list |
| Describes a resource element pattern list. More... | |
| class | re_prb_mask |
| Represents a RE mask within a PRB. More... | |
| class | remote_f1ap_pdu_handler |
| class | resource_grid |
| Describes a resource grid class with writer and reader interfaces. More... | |
| class | resource_grid_base |
| Resource grid base interface. More... | |
| struct | resource_grid_context |
| Describes the transmission and reception context. More... | |
| struct | resource_grid_coordinate |
| Describes a resource grid coordinate as symbol index and carrier. More... | |
| class | resource_grid_factory |
| Factory that builds resource grids. More... | |
| class | resource_grid_impl |
| Implements a resource grid and mapper. More... | |
| class | resource_grid_mapper |
| Resource Element mapping interface. More... | |
| class | resource_grid_mapper_impl |
| Implements a resource grid mapper. More... | |
| class | resource_grid_pool |
| Describes a resource grid pool interface. More... | |
| class | resource_grid_pool_asynchronous_impl |
| Implements a generic resource grid pool that zeroes the resource grids after a number of slots. More... | |
| class | resource_grid_pool_generic_impl |
| Implements a generic resource grid pool. More... | |
| class | resource_grid_reader |
| Describes a resource grid reader interface. More... | |
| class | resource_grid_reader_empty |
| Defines an empty resource grid reader that behaves as it is filled with zeros. More... | |
| class | resource_grid_reader_impl |
| Implements the resource grid reader interface. More... | |
| class | resource_grid_request_pool |
| Thread-safe resource grid request pool. More... | |
| class | resource_grid_writer |
| Resource grid writer interface. More... | |
| class | resource_grid_writer_impl |
| Implements the resource grid writer interface. More... | |
| struct | ri_li_cqi_cri_sizes |
| Collects the RI, LI, wideband CQI, and CSI fields bit-width. More... | |
| struct | ric_action_t |
| This defines the RIC action struct. More... | |
| class | ring_buffer_pool |
This pool returns spans of bytes, which have been allocated using a ring memory allocator. It assumes that the underlying memory resource of size mem_size_bytes is large enough so that no overflows ever happen. More... | |
| class | ring_memory_allocator |
| This memory allocator allocates chunks of a contiguous memory region in a circular fashion. More... | |
| struct | rlc_am_appconfig |
| RLC AM configuration. More... | |
| struct | rlc_am_config |
| Configurable parameters for RLC AM. More... | |
| class | rlc_am_entity |
| struct | rlc_am_pdu_header |
| AM PDU header. More... | |
| struct | rlc_am_rx_metrics |
| struct | rlc_am_status_nack |
| Status PDU NACK. More... | |
| class | rlc_am_status_pdu |
| AM Status PDU. More... | |
| struct | rlc_am_tx_metrics |
| struct | rlc_am_tx_metrics_atomic_lower |
| struct | rlc_appconfig |
| RLC configuration. More... | |
| class | rlc_base_entity |
| class | rlc_bearer_log_prefix |
| struct | rlc_config |
| Configuration of RLC bearer. More... | |
| class | rlc_entity |
| struct | rlc_entity_creation_message |
| struct | rlc_metrics |
| Container to hold TX/RX metrics. More... | |
| class | rlc_metrics_notifier |
| Notifier interface used to report RLC metrics. More... | |
| class | rlc_metrics_plotter_json |
| Class used to receive metrics reports from scheduler and format them into a JSON file. More... | |
| class | rlc_metrics_source |
| class | rlc_pcap |
| Interface class for writing a RLC PCAP to a file. More... | |
| class | rlc_pcap_impl |
| class | rlc_pdu_recycler |
| Recycling bin for discarded PDUs that shall be deleted by a different executor off a real-time critical path. This class is intended to offload the time-consumping deletion of thousands byte_buffer objects of ACK'ed PDUs from tx_window upon reception of the RLC AM status report, which is handled by the pcell_executor in a real-time critical path. More... | |
| class | rlc_retx_queue |
| struct | rlc_retx_queue_item |
| class | rlc_retx_queue_state |
| struct | rlc_rx_am_appconfig |
| RLC UM RX configuration. More... | |
| struct | rlc_rx_am_config |
| Configurable Rx parameters for RLC AM. More... | |
| class | rlc_rx_am_entity |
| struct | rlc_rx_am_sdu_info |
| Container to collect received SDU segments and to assemble the SDU upon completion. More... | |
| struct | rlc_rx_am_sdu_segment |
| AM SDU segment container. More... | |
| struct | rlc_rx_am_sdu_segment_cmp |
| AM SDU segment compare object. More... | |
| struct | rlc_rx_am_state |
| Rx state variables Ref: 3GPP TS 38.322 version 16.2.0 Section 7.1. More... | |
| class | rlc_rx_am_status_provider |
| class | rlc_rx_entity |
| class | rlc_rx_lower_layer_interface |
| struct | rlc_rx_metrics |
| class | rlc_rx_metrics_container |
| class | rlc_rx_metrics_interface |
| struct | rlc_rx_tm_config |
| Configurable Rx parameters for RLC TM. More... | |
| class | rlc_rx_tm_entity |
| struct | rlc_rx_um_appconfig |
| RLC UM RX configuration. More... | |
| struct | rlc_rx_um_config |
| Configurable Rx parameters for RLC UM. More... | |
| class | rlc_rx_um_entity |
| struct | rlc_rx_um_sdu_info |
| Container to collect received SDU segments and to assemble the SDU upon completion. More... | |
| struct | rlc_rx_um_sdu_segment |
| UM SDU segment container. More... | |
| struct | rlc_rx_um_sdu_segment_cmp |
| UM SDU segment compare object. More... | |
| struct | rlc_rx_um_state |
| Rx state variables Ref: 3GPP TS 38.322 version 16.2.0 Section 7.1. More... | |
| class | rlc_rx_upper_layer_data_notifier |
| struct | rlc_sdu |
| class | rlc_sdu_queue |
| class | rlc_sdu_queue_lockfree |
| Lockfree RLC SDU queue. More... | |
| struct | rlc_tm_config |
| Configurable parameters for RLC TM. More... | |
| class | rlc_tm_entity |
| struct | rlc_tm_rx_metrics |
| struct | rlc_tm_tx_metrics |
| struct | rlc_tm_tx_metrics_atomic_lower |
| struct | rlc_tx_am_appconfig |
| RLC UM TX configuration. More... | |
| struct | rlc_tx_am_config |
| Configurable Tx parameters for RLC AM. More... | |
| class | rlc_tx_am_entity |
| struct | rlc_tx_am_sdu_info |
| Container to hold a SDU for transmission, the progress in case of segmentation, and associated meta data. More... | |
| struct | rlc_tx_am_state |
| TX state variables Ref: 3GPP TS 38.322 version 16.2.0 Section 7.1. More... | |
| class | rlc_tx_am_status_handler |
| class | rlc_tx_am_status_notifier |
| struct | rlc_tx_amd_retx |
| class | rlc_tx_entity |
| class | rlc_tx_lower_layer_interface |
| class | rlc_tx_lower_layer_notifier |
| struct | rlc_tx_metrics |
| struct | rlc_tx_metrics_atomic_higher |
| struct | rlc_tx_metrics_atomic_lower |
| class | rlc_tx_metrics_container |
| class | rlc_tx_metrics_interface |
| struct | rlc_tx_tm_config |
| Configurable Tx parameters for RLC TM. More... | |
| class | rlc_tx_tm_entity |
| struct | rlc_tx_um_appconfig |
| RLC UM TX configuration. More... | |
| struct | rlc_tx_um_config |
| Configurable Tx parameters for RLC UM. More... | |
| class | rlc_tx_um_entity |
| struct | rlc_tx_um_state |
| TX state variables Ref: 3GPP TS 38.322 version 16.2.0 Section 7.1. More... | |
| class | rlc_tx_upper_layer_control_notifier |
| class | rlc_tx_upper_layer_data_interface |
| class | rlc_tx_upper_layer_data_notifier |
| struct | rlc_um_appconfig |
| RLC UM configuration. More... | |
| struct | rlc_um_config |
| Configurable parameters for RLC UM. More... | |
| class | rlc_um_entity |
| struct | rlc_um_pdu_header |
| struct | rlc_um_rx_metrics |
| struct | rlc_um_tx_metrics |
| struct | rlc_um_tx_metrics_atomic_lower |
| class | rlf_detector |
| Detector of RLFs in the MAC, based on HARQ-ACK and CRC indications. More... | |
| struct | rlf_metrics |
| Metrics used as reference to detect/trigger RLF. More... | |
| class | rnti_manager |
| Extends DU RNTI Table with the ability to allocate unique RNTIs for UEs. More... | |
| class | rnti_value_table |
| Table used by MAC to convert from RNTI to a value in a thread-safe manner. More... | |
| struct | rrc_appconfig |
| RRC specific configuration parameters. More... | |
| struct | ru_configuration |
| Radio Unit configuration. More... | |
| class | ru_controller |
| Radio Unit - control interface. More... | |
| class | ru_controller_generic_impl |
| Radio Unit controller generic implementation. More... | |
| class | ru_downlink_handler_generic_impl |
| Radio Unit downlink handler generic implementation. More... | |
| class | ru_downlink_plane_handler |
| Radio Unit resource grid handler interface. More... | |
| class | ru_downlink_plane_handler_proxy |
| This proxy implementation dispatches the requests to the corresponding OFH sector. More... | |
| struct | ru_dummy_appconfig |
| gNB app dummy Radio Unit configuration. More... | |
| struct | ru_dummy_configuration |
| Collects the necessary parameters for the dummy radio unit. More... | |
| struct | ru_dummy_dependencies |
| Collects the necessary dependencies for the dummy radio unit. More... | |
| class | ru_dummy_impl |
| Implements a dummy radio unit. More... | |
| class | ru_dummy_rx_prach_buffer |
| Implements a PRACH buffer reader that contains always the same random data. More... | |
| class | ru_dummy_rx_resource_grid |
| Implements a resource grid reader that contains always the same random data. More... | |
| class | ru_dummy_sector |
| Implements a RU dummy sector. More... | |
| struct | ru_error_context |
| Radio Unit error context. More... | |
| class | ru_error_notifier |
| Radio Unit interface error notifier. More... | |
| struct | ru_generic_configuration |
| Radio Unit generic configuration. More... | |
| class | ru_generic_impl |
| Radio Unit generic implementation. More... | |
| struct | ru_generic_impl_config |
| Radio Unit generic implementation configuration. More... | |
| struct | ru_ofh_appconfig |
| gNB app Open Fronthaul Radio Unit configuration. More... | |
| struct | ru_ofh_base_cell_appconfig |
| gNB app Open Fronthaul base cell configuration. More... | |
| struct | ru_ofh_cell_appconfig |
| gNB app Open Fronthaul cell configuration. More... | |
| struct | ru_ofh_configuration |
| Radio Unit configuration for the Open Fronthaul implementation. More... | |
| class | ru_ofh_controller_impl |
| RU controller implementation for the Open Fronthaul interface. More... | |
| struct | ru_ofh_dependencies |
| Radio Unit dependencies for the Open Fronthaul implementation. More... | |
| class | ru_ofh_error_handler_impl |
| Radio Unit error handler for the Open Fronthaul interface. More... | |
| class | ru_ofh_impl |
| Open Fronthaul Radio Unit implementation. More... | |
| struct | ru_ofh_impl_config |
| Open Fronthaul implementation configuration. More... | |
| struct | ru_ofh_impl_dependencies |
| Open Fronthaul implementation dependencies. More... | |
| class | ru_ofh_rx_symbol_handler_impl |
| RU received symbol handler for the Open Fronthaul interface. More... | |
| struct | ru_ofh_sector_configuration |
| Radio Unit sector configuration for the Open Fronthaul implementation. More... | |
| struct | ru_ofh_sector_dependencies |
| Radio Unit sector dependencies for the Open Fronthaul implementation. More... | |
| class | ru_ofh_timing_notifier_impl |
| class | ru_radio_notification_handler_counter |
| Radio Unit radio notification counter. More... | |
| class | ru_radio_notification_handler_logger |
| Radio Unit radio notification logger. More... | |
| class | ru_rx_symbol_adapter |
| Implements a generic lower physical layer to Radio Unit receive symbol adapter. More... | |
| struct | ru_sdr_appconfig |
| gNB app SDR Radio Unit configuration. More... | |
| struct | ru_sdr_expert_appconfig |
| Expert SDR Radio Unit configuration. More... | |
| class | ru_timing_adapter |
| Implements a generic lower physical layer to Radio Unit timing adapter. More... | |
| class | ru_timing_notifier |
| Radio Unit interface to notify timing related events. More... | |
| class | ru_uplink_plane_handler |
| Radio Unit uplink plane handler. More... | |
| class | ru_uplink_plane_handler_proxy |
| This proxy implementation dispatches the requests to the corresponding OFH sector. More... | |
| class | ru_uplink_plane_rx_symbol_notifier |
| Radio Unit notifier for events related to received symbols. More... | |
| class | ru_uplink_request_handler_generic_impl |
| Radio Unit uplink request handler generic implementation. More... | |
| struct | ru_uplink_rx_symbol_context |
| Radio Unit uplink received symbol context. More... | |
| class | rx_buffer |
| Describes a PUSCH rate matcher buffer. More... | |
| class | rx_buffer_codeblock_pool |
| Manages a codeblock buffer pool. More... | |
| class | rx_buffer_impl |
| Implements a receiver buffer interface. More... | |
| class | rx_buffer_pool |
| Describes a receive buffer pool. More... | |
| struct | rx_buffer_pool_config |
| buffer pool configuration. More... | |
| class | rx_buffer_pool_controller |
| Receive buffer pool controller interface. More... | |
| class | rx_buffer_pool_impl |
| Implements a PUSCH rate matcher buffer pool. More... | |
| class | rx_payload_buffer_pool |
| Represents a pool of payload buffers. More... | |
| class | rx_symbol_handler_example |
| struct | s_nssai_t |
| class | sample_statistics |
| Keeps track of sample statistics. More... | |
| class | sampling_rate |
| Sampling rate. More... | |
| struct | sch_information |
| Collects Shared Channel (SCH) parameters derived from the transport block size and the target code rate. More... | |
| struct | sch_mcs_description |
| Physical Downlink and Uplink Shared Channel Modulation and Coding Scheme breakdown. More... | |
| struct | sch_mcs_tbs |
| Container for MCS and TBS results. More... | |
| struct | sch_prbs_tbs |
| Collects the outputs of the helper that returns the num. of PRBs and TBS, for a PDSCH transmission. More... | |
| struct | sched_cell_configuration_request_message |
| class | sched_config_manager |
| class | sched_configuration_notifier |
| Interface used by scheduler to notify MAC that a configuration is complete. More... | |
| struct | sched_grid_resource |
| Basic scheduler resource grid element for resource reservation. More... | |
| class | sched_metrics_ue_configurator |
| Adds/Removes UEs from the metrics. More... | |
| struct | sched_paging_information |
| struct | sched_result |
| Scheduler decision made for DL and UL in a given slot. More... | |
| struct | sched_ue_config_request |
| Request for a new UE configuration provided to the scheduler during UE creation or reconfiguration. More... | |
| class | sched_ue_configuration_handler |
| Internal scheduler interface to create/update/delete UEs. More... | |
| struct | sched_ue_creation_request_message |
| Request to create a new UE in scheduler. More... | |
| struct | sched_ue_delete_message |
| UE Delete Request. More... | |
| struct | sched_ue_reconfiguration_message |
| UE Reconfiguration Request. More... | |
| struct | sched_ue_resource_alloc_config |
| Parameters provided to the scheduler to configure the resource allocation of a specific UE. More... | |
| struct | scheduler_config |
| Configuration used to create a scheduler instance. More... | |
| class | scheduler_configurator |
| Interface to Add/Remove UEs and Cells. More... | |
| class | scheduler_dl_buffer_state_indication_handler |
| Scheduler interface to push DL buffer state updates for a given RLC bearer. More... | |
| class | scheduler_event_logger |
| struct | scheduler_expert_config |
| Scheduling statically configurable expert parameters. More... | |
| class | scheduler_feedback_handler |
| class | scheduler_impl |
| class | scheduler_metrics_handler |
| Handler of scheduler slot metrics. More... | |
| struct | scheduler_paging_expert_config |
| Paging scheduling statically configurable expert parameters. More... | |
| class | scheduler_paging_handler |
| Scheduler interface to handle paging a UE. More... | |
| class | scheduler_policy |
| struct | scheduler_ra_expert_config |
| Random Access scheduling statically configurable expert parameters. More... | |
| class | scheduler_result_logger |
| struct | scheduler_si_expert_config |
| System Information scheduling statically configurable expert parameters. More... | |
| class | scheduler_slot_handler |
| struct | scheduler_strategy_params |
| class | scheduler_time_rr |
| class | scheduler_ue_configurator |
| struct | scheduler_ue_expert_config |
| UE scheduling statically configurable expert parameters. More... | |
| struct | scheduler_ue_metrics |
| Snapshot of the metrics for a UE. More... | |
| class | scheduler_ue_metrics_notifier |
| Notifier interface used by scheduler to report UE metrics. More... | |
| class | scheduler_ue_metrics_source |
| struct | scheduling_request_resource_config |
SR Configuration, as per SchedulingRequestResourceConfig, TS 38.331. More... | |
| struct | scheduling_request_to_addmod |
SchedulingRequestToAddMod, part of SchedulingRequestConfig, TS 38.331. More... | |
| struct | scs_specific_carrier |
| It provides parameters determining the location and width of the actual carrier. More... | |
| class | sctp_network_gateway |
| struct | sctp_network_gateway_config |
| Configuration for SCTP network gateway. More... | |
| class | sctp_network_gateway_control_notifier |
| Interface to inform upper layers about connection establishment, drops, etc. More... | |
| class | sctp_network_gateway_controller |
| Interface to trigger bind/listen/connect operations on gateway socket. More... | |
| struct | sctp_network_gateway_creation_message |
| class | sctp_network_gateway_data_handler |
| Interface to inject PDUs into gateway entity. More... | |
| class | sctp_network_gateway_impl |
| struct | sdap_config |
| Configurable parameters for SDAP mapping. More... | |
| struct | sdap_config_t |
| class | sdap_mapper |
| DRB to QoS flow mapping. More... | |
| class | sdap_session_log_prefix |
| class | sdap_session_trx_log_prefix |
| class | sdu_window |
| class | sdu_window_impl |
| This class provides a container for the Tx/Rx windows holding SDU info objects that are indexed by Sequence Numbers (SN) More... | |
| struct | search_space_configuration |
| SearchSpace configuration as per TS38.331, "SearchSpace". More... | |
| struct | search_space_info |
| Grouping of common and UE-dedicated information associated with a given search space. More... | |
| struct | security_appconfig |
| Security configuration parameters. More... | |
| struct | security_indication_t |
| struct | security_result_t |
| struct | segmenter_config |
| Gathers all segmentation configuration parameters. More... | |
| struct | serving_cell_config |
ServingCellConfig, as per TS38.331. More... | |
| class | short_block_detector |
| Short-block detector interface. More... | |
| class | short_block_detector_factory |
| class | short_block_detector_impl |
| Generic implementation of the short-block detector. More... | |
| class | short_block_encoder |
| Short-block encoder interface. More... | |
| class | short_block_encoder_impl |
| Generic implementation of the short-block encoder. More... | |
| struct | si_message_sched_info |
| This struct contains the information required for the scheduling of the SI messages by the network. More... | |
| class | si_message_scheduler |
| struct | si_message_scheduling_config |
| Scheduling parameters of the SI message. More... | |
| struct | si_scheduling_config |
| Configuration of the SI message scheduling. More... | |
| struct | si_scheduling_info_config |
| struct | sib19_info |
| class | sib1_scheduler |
| This class schedules the SIB1 and fills the grant to be passed to passed to lower layers. More... | |
| struct | sib2_info |
| struct | sib_appconfig |
| Configuration of SIBs and SI-message scheduling. More... | |
| struct | sib_information |
| Stores the information associated with an SIB1 or other SI allocation. More... | |
| class | sib_pdu_assembler |
| Class that manages the encoding of BCCH-DL-SCH messages to be fit in a Transport Block. More... | |
| struct | slice_support_item_t |
| class | slot_event_list |
| class | slot_point |
| class | slot_sync_point |
| class | slotted_array |
| Array of optional elements, with the following characteristics: More... | |
| class | slotted_id_table |
| Represents a slotted array that is indexed via an ID type that is convertible to an integer (e.g. enum). More... | |
| class | slotted_id_vector |
| Represents a slotted vector that is indexed via an ID type that is convertible to an integer (e.g. enum). More... | |
| class | slotted_vector |
| Container representing a vector of optional elements. It has the following characteristics: More... | |
| class | span |
| struct | speed_state_reselection_params |
| struct | srb_appconfig |
| QoS configuration. More... | |
| class | srs_channel_matrix |
| SRS-based estimated channel matrix. More... | |
| struct | srs_config |
| struct | srs_configuration |
| Contains the Sounding Reference Signals (SRS) bandwidth configuration parameters. More... | |
| struct | srs_tpc_command_config |
| UE Transmit Power Control (TPC) command configuration for SRS. More... | |
| class | srsran_scheduler_adapter |
| This class adapts srsRAN scheduler interface to operate with srsRAN MAC. The configuration completion notification handling (e.g. ue creation complete) is deferred for later processing rather than being processed inline. We defer the processing because we do not want it to take place while the scheduler is still processing the slot_indication, given that latter has higher priority. More... | |
| struct | ss_rssi_measurement |
| struct | ssb_appconfig |
| class | ssb_assembler |
| struct | ssb_configuration |
| SSB Configuration. More... | |
| struct | ssb_freq_location |
| Contains the parameters defining the SSB position within the band; returned by the DU config generator. More... | |
| class | ssb_freq_position_generator |
| Class that implements utilities that compute the SSB position within the band. More... | |
| struct | ssb_information |
| Stores the information associated with an SSB. More... | |
| struct | ssb_mib_data_pdu |
| Describes part of the parameters that are encoded in the MIB payload as per TS38.331 Section 6.2.2 - MIB. More... | |
| struct | ssb_mtc |
| class | ssb_offset_to_pointA |
| Data type used to represent the frequency offset between Point A and the lowest subcarrier of the lowest common resource block that overlaps with the SS/PBCH block. More... | |
| class | ssb_pdu_validator |
| Describes the SSB processor validator interface. More... | |
| class | ssb_processor |
| Describes the SSB processor interface. More... | |
| struct | ssb_processor_config |
| class | ssb_processor_factory |
| struct | ssb_processor_factory_sw_configuration |
| class | ssb_processor_impl |
| class | ssb_processor_pool |
| Concurrent SSB processor pool. More... | |
| class | ssb_processor_validator_impl |
| Implements a parameter validator for ssb_processor_impl. More... | |
| class | ssb_scheduler |
| class | ssb_subcarrier_offset |
Data type used to represent the offset from subcarrier zero in common resource block ![]() | |
| class | sss_processor |
| Describes a SSS processor interface. More... | |
| class | sss_processor_factory |
| class | sss_processor_impl |
| class | static_bit_buffer |
| Implements a bit buffer that uses static memory. More... | |
| class | static_blocking_queue |
| class | static_re_buffer |
| Implements a static resource element buffer. More... | |
| class | static_re_measurement |
| Static container for RE measurements. More... | |
| class | static_tensor |
Static tensor - the dimensions can be resized without allocating memory up to MAX_ELEMENTS elements. More... | |
| class | static_vector |
| struct | strong_arithmetic |
| struct | strong_arithmetic_with_underlying_type |
| struct | strong_bitwise |
| struct | strong_comparison |
| struct | strong_comparison_with |
| Comparison operator definitions for strong types and the list of types in the template argument pack. More... | |
| struct | strong_conversion_to |
| Conversion operator definitions for strong types and the list of types in the template argument pack. More... | |
| struct | strong_equality |
| struct | strong_equality_with |
| Equality operator definitions for strong types and the list of types in the template argument pack. More... | |
| struct | strong_increment_decrement |
| struct | strong_multiplication_with |
| Multiplication operator definitions for strong types and the list of types in the template argument pack. More... | |
| class | strong_type |
| Template class for strong typing arithmetic types. More... | |
| struct | supported_plmns_item_t |
| struct | suspend_always |
| Awaitable that always suspends. More... | |
| struct | suspend_never |
| Awaitable that never suspends. More... | |
| class | symbol_slot_mask |
| Represents a symbol mask within a slot. More... | |
| class | sync_task_executor |
| Blocks the thread calling execute() or defer() until the execution of the pushed task has been completed. More... | |
| struct | ta_cmd_ce_payload |
| Timing Advance Command CE payload. More... | |
| struct | ta_common_t |
| class | ta_manager |
| Timing Advance manager for an UE. More... | |
| struct | tag |
TAG, or Time Alignment Group, TS 38.331. More... | |
| class | task_execution_context |
| General execution context to which tasks can be dispatched via task executors. More... | |
| class | task_execution_manager |
| Repository of execution contexts and task executors. More... | |
| class | task_executor |
| class | task_redispatcher |
| class | task_strand |
| This class implements a strand of one or more enqueueing policies, each with a different priority. More... | |
| class | task_worker_pool |
| Simple pool of task workers/threads. The workers share the same queue of task and do not perform work-stealing. More... | |
| class | task_worker_pool_executor |
| struct | tbs_calculator_configuration |
| Collection of parameters required to calculate the TBS for a shared channel transmission. More... | |
| struct | tci_state |
| Associates one or two DL reference signals with a corresponding quasi-colocation (QCL) type. More... | |
| struct | tdd_configuration |
| struct | tdd_ul_dl_appconfig |
TDD configuration. See TS 38.331, TDD-UL-DL-ConfigCommon. More... | |
| struct | tdd_ul_dl_config_common |
| struct | tdd_ul_dl_pattern |
| struct | tdd_ul_dl_pattern_appconfig |
TDD pattern configuration. See TS 38.331, TDD-UL-DL-Pattern. More... | |
| class | tensor |
| Base tensor interface. More... | |
| class | test_delimit_logger |
| class | test_event_tracer |
| Class that writes trace events to a vector of strings for testing purposes. More... | |
| struct | test_mode_appconfig |
| gNB app Test Mode configuration. More... | |
| struct | test_mode_ue_appconfig |
| class | test_rgen |
| This class creates a random generation interface that is suitable for unit tests. The user has the ability to set a random seed to reproduce tests. More... | |
| class | test_ue_info_manager |
| Handles information related to the test UE(s). More... | |
| class | ticking_ring_buffer_pool |
This pool returns spans of bytes, which have been allocated using a ring memory allocator. Differently from ring_buffer_pool, this pool keeps track of previously allocated bytes, and, on each tick, deallocates the memory that it deems to be too old. This extra check gives this pool the ability to detect potential buffer overflows. More... | |
| class | timer_factory |
| Factory of timers that associates created timers to specific task executors. More... | |
| class | timer_manager |
This class implements the service associated with the management of the timers of the application, including the allocation, destruction, starting/halting and timeout triggering of the registered timers. The user can check and control the state of an individual timer via the respective unique_timer handle object. More... | |
| class | tiny_optional |
| Tiny optional class. When a specialization of tiny_optional_traits<T, Flags...> is provided, tiny_optional will have detail::base_tiny_optional<T, Flags...> as its base class. Otherwise, optional<T> is used as base class. More... | |
| struct | tiny_optional_traits |
| Metafunction used to derive the specialization of tiny_optional<T> based on "T" and "T...". More... | |
| struct | tiny_optional_traits< std::unique_ptr< T > > |
| Specialization for tiny_optional for unique_ptr<T>, where nullptr corresponds to an empty optional. More... | |
| struct | tiny_optional_traits< T, AbsentValue > |
| Specialization for tiny_optional<T, AbsentValue>, where an instance of T equal to AbsentValue corresponds to an empty optional. More... | |
| struct | trace_event |
| Trace event used for events with defined name, starting point and duration. More... | |
| struct | trace_thres_event |
| class | transport_layer_address |
| Representation of an Transport Layer Address. More... | |
| class | trx_buffer_identifier |
| Identifies transmit and receive buffers. More... | |
| struct | tx_power_pdcch_information |
| struct | uci_allocation |
| Contains the results of the UCI allocation. More... | |
| class | uci_allocator |
| UCI allocator interface. Depending on whether there is an existing PUSCH grant, it allocates the UCI either on the PUSCH or PUCCH. More... | |
| class | uci_allocator_impl |
| Implementation of uci_allocator interface. More... | |
| class | uci_cell_decoder |
| class | uci_decoder |
| Uplink Control Information decoder. More... | |
| class | uci_decoder_factory |
| class | uci_decoder_impl |
| Implementation of the UCI decoder. More... | |
| struct | uci_indication |
| UCI indication for a given UE. More... | |
| struct | uci_info |
| struct | uci_on_pusch |
UCI-OnPUSCH, part of PUSCH-Config, as per TS 38.331. More... | |
| struct | uci_part2_size_description |
| Collects the parameters that describe the UCI Part 1 correspondence to Part 2 sizes. More... | |
| class | uci_scheduler |
| UCI scheduling interface, which handles the scheduling of SR and CSI opportunities. More... | |
| class | uci_scheduler_impl |
| class | udp_network_gateway |
| struct | udp_network_gateway_config |
| class | udp_network_gateway_controller |
| Interface to trigger bind/listen/connect operations on gateway socket. More... | |
| struct | udp_network_gateway_creation_message |
| class | udp_network_gateway_data_handler |
| Interface to inject PDUs into gateway entity. More... | |
| class | udp_network_gateway_impl |
| class | ue |
| class | ue_cell |
| Context respective to a UE serving cell. More... | |
| class | ue_cell_configuration |
| UE-dedicated configuration for a given cell. More... | |
| class | ue_cell_grid_allocator |
| class | ue_channel_state_manager |
| This classes manages all the information related with the channel state that has been received from the UE via CSI (e.g. CQI) or via gNB PHY measurements (e.g. UL SINR). More... | |
| class | ue_config_delete_event |
| Event to delete a UE in the scheduler. More... | |
| class | ue_config_update_event |
| Event to create/reconfigure a UE in the scheduler. More... | |
| class | ue_configuration |
| struct | ue_creation_command |
| Parameters used to create a UE. More... | |
| class | ue_event_manager |
| Class used to manage events that arrive to the scheduler and are directed at UEs. This class acts as a facade for several of the ue_scheduler subcomponents, managing the asynchronous configuration of the UEs and logging in a thread-safe manner. More... | |
| struct | ue_event_prefix |
| class | ue_harq_timeout_notifier |
| UE-specific notifier of HARQ process timeouts. More... | |
| class | ue_link_adaptation_controller |
| Component that handles the derivation of the MCS for a UE, given its CSI, PHY estimates, and experienced channel BLER. More... | |
| class | ue_pdsch_allocator |
| Allocator of PDSCH grants for UEs. More... | |
| struct | ue_pdsch_grant |
| Information relative to a UE PDSCH grant. More... | |
| class | ue_pdsch_param_candidate_searcher |
| This class assists with the search of PDSCH parameters given an UE config that ensures a valid UE PDSCH resource allocation in the Cell Resource Grid. The search iterates through different HARQ, SearchSpace and PDSCH time-domain resource candidates, returning only the valid ones. This class operates as a range with begin() and end() iterators, and only searches for valid candidates in a lazy fashion. That means that we only compute all valid candidates if we iterate from begin() to end(). More... | |
| class | ue_procedure_logger |
| class | ue_pusch_allocator |
| Allocator of PUSCH grants for UEs. More... | |
| struct | ue_pusch_grant |
| Information relative to a UE PUSCH grant. More... | |
| struct | ue_reconf_command |
| Parameters used to reconfigure a UE. More... | |
| class | ue_repository |
| Container that stores all scheduler UEs. More... | |
| class | ue_resource_grid_view |
| This struct provides a view of the current resource grid state to the PDSCH and PUSCH allocators. More... | |
| class | ue_scheduler |
| struct | ue_scheduler_cell_params |
| class | ue_scheduler_impl |
| Interface of data scheduler that is used to allocate UE DL and UL grants in a given slot. The data_scheduler object will be common to all cells and slots. More... | |
| class | ue_srb0_scheduler |
| Defines SRB0 scheduler that is used to allocate grants for UE's SRB0 DL messages in a given slot. More... | |
| struct | ue_timers_and_constants_config |
| class | uhd_exception_handler |
| struct | ul_bsr_indication_message |
| UL Buffer Status Report. More... | |
| struct | ul_bsr_lcg_report |
| UL Buffer Status Report for a single logical channel group. More... | |
| struct | ul_ccch_indication_message |
| Used to indicate UL CCCH message arrival. More... | |
| struct | ul_common_appconfig |
| Common uplink parameters of a cell. More... | |
| struct | ul_config_common |
| Uplink Configuration, common to the serving cell. More... | |
| struct | ul_crc_indication |
| UL HARQ CRC indication for a given UE PDU. More... | |
| struct | ul_crc_pdu_indication |
| class | ul_harq_process |
| class | ul_logical_channel_manager |
| struct | ul_phr_indication_message |
| Information and context relative to PHR forwarded by MAC. More... | |
| struct | ul_prach_results |
| PRACH results structure. More... | |
| struct | ul_pucch_context |
| PUCCH context. More... | |
| struct | ul_pucch_f0_f1_context |
| PUCCH context for Format 0 or Format 1. More... | |
| struct | ul_pucch_results |
| PUCCH results structure. More... | |
| struct | ul_pusch_results_control |
| Control-related PUSCH decoding output. More... | |
| struct | ul_pusch_results_data |
| Data-related PUSCH decoding output. More... | |
| struct | ul_sched_info |
| struct | ul_sched_result |
| struct | ulsch_configuration |
| Collects the necessary parameters to calculate the Uplink Shared Channel (UL-SCH) information. More... | |
| class | ulsch_demultiplex |
| User interface of the Uplink Shared Channel (UL-SCH) demultiplexer. More... | |
| class | ulsch_demultiplex_factory |
| class | ulsch_demultiplex_impl |
| struct | ulsch_information |
| Collects Uplink Shared Channel (UL-SCH) derived parameters. More... | |
| class | unique_coroutine |
| Handle to coroutine object that ensures safe move ctor, move assignment and destruction. More... | |
| class | unique_function |
| class | unique_function< R(Args...), Capacity, ForbidAlloc > |
| class | unique_rx_buffer |
| Wraps a receive buffer instance and locks it inside a scope. More... | |
| class | unique_thread |
| class | unique_timer |
This class represents a timer which invokes a user-provided callback upon timer expiration. To setup a timer session it needs to connect to a timer_manager class. This class is not thread-safe. More... | |
| class | unsync_fixed_size_memory_block_pool |
| Unsynchronized (not thread-safe) memory pool of memory blocks of equal size. More... | |
| struct | up_transport_layer_info |
| Identifier for F1-U transport layer associated to a DRB. More... | |
| struct | uplink_config |
Uplink configuration, as per UplinkConfig, in ServingCellConfig, TS 38.331. More... | |
| class | uplink_pdu_validator |
| Uplink processor validation interface. More... | |
| class | uplink_processor |
| Uplink processor interface. More... | |
| class | uplink_processor_baseband |
| Lower physical layer uplink processor - Baseband interface. More... | |
| struct | uplink_processor_config |
| Configuration parameters for uplink processors. More... | |
| struct | uplink_processor_configuration |
| Describes a sector configuration. More... | |
| class | uplink_processor_factory |
| Uplink processor factory. More... | |
| class | uplink_processor_impl |
| Uplink processor implementation. More... | |
| class | uplink_processor_notifier |
| Lower physical layer uplink processor - Notifier interface. More... | |
| class | uplink_processor_pool |
| Pool of uplink processors. More... | |
| struct | uplink_processor_pool_config |
| Describes all uplink processors in a pool. More... | |
| class | uplink_processor_pool_impl |
| Uplink processor pool implementation. More... | |
| struct | uplink_processor_pool_impl_config |
| Defines the structure to configure the uplink processor pool. More... | |
| class | uplink_processor_task_dispatcher |
| Uplink processor implementation with a task dispatcher per channel. More... | |
| class | uplink_processor_validator_impl |
| Implements the uplink PDU validator for uplink_processor_single_executor_impl. More... | |
| class | uplink_request_processor |
| Interface of the uplink request processor. More... | |
| class | uplink_request_processor_impl |
| Implementation of the uplink request processor interface. More... | |
| class | uplink_slot_pdu_repository |
| Uplink slot PDU repository. More... | |
| class | upper_phy |
| Upper PHY interface. More... | |
| struct | upper_phy_config |
| Upper PHY configuration parameters used to create a new upper PHY object. More... | |
| class | upper_phy_error_handler |
| Upper physical layer error handler. More... | |
| class | upper_phy_error_handler_impl |
| Upper physical layer error handler implementation. More... | |
| class | upper_phy_error_notifier |
| Upper physical layer error notifier. More... | |
| class | upper_phy_factory |
| Factory that builds upper PHY objects. More... | |
| class | upper_phy_impl |
| Implementation of the upper PHY interface. More... | |
| struct | upper_phy_impl_config |
| Upper PHY implementation configuration. More... | |
| struct | upper_phy_params |
| Upper PHY parameters to configure the upper PHY factory. More... | |
| class | upper_phy_rg_gateway |
| Interface of the upper physical layer resource grid gateway. More... | |
| class | upper_phy_rx_results_notifier |
| Interface of the upper-PHY notifier in charge of messages carrying the result of uplink detection and decoding. More... | |
| class | upper_phy_rx_results_notifier_wrapper |
| Wrapper class of the upper PHY receive results notifier. More... | |
| struct | upper_phy_rx_symbol_context |
| Describes the context of a newly received symbol. More... | |
| class | upper_phy_rx_symbol_handler |
| Interface of the upper-PHY handler in charge of processing uplink OFDM symbols. More... | |
| class | upper_phy_rx_symbol_handler_impl |
| Implementation of the upper PHY handler of receive symbols events. More... | |
| class | upper_phy_rx_symbol_handler_printer_decorator |
| class | upper_phy_rx_symbol_request_notifier |
| Interface of the upper-PHY notifier in charge of requesting symbol captures. More... | |
| class | upper_phy_ssb_example |
| Upper PHY processor application example interface. More... | |
| struct | upper_phy_threads_appconfig |
| Upper PHY thread configuration for the gNB. More... | |
| struct | upper_phy_timing_context |
| Describes the context of the current timing boundary. More... | |
| class | upper_phy_timing_handler |
| Upper physical layer handler to align timing boundaries. More... | |
| class | upper_phy_timing_notifier |
| Upper physical layer timing notifier. More... | |
| class | upper_ru_dl_rg_adapter |
| Upper PHY - Radio Unit downlink adapter. More... | |
| class | upper_ru_error_adapter |
| Upper PHY - Radio Unit error adapter. More... | |
| class | upper_ru_timing_adapter |
| Upper PHY - Radio Unit timing adapter. More... | |
| class | upper_ru_ul_adapter |
| Upper PHY - Radio Unit uplink adapter. More... | |
| class | upper_ru_ul_request_adapter |
| Upper PHY - Radio Unit uplink request adapter. More... | |
| struct | vrb_alloc |
| VRB Resource Allocation that can be of allocation type 0 (RBGs) or 1 (VRB range). More... | |
| struct | vrb_interval |
| Struct to express a {min,...,max} range of VRB indexes. More... | |
| class | vrb_to_prb_mapper |
| Describes a VRB-to-PRB mapping. More... | |
| class | wait_manual_event_tester |
| Factory of async tasks that await on an external event. More... | |
| class | wait_manual_event_tester< void > |
| Specialization for result of type void. More... | |
| struct | worker_manager |
| Manages the workers of the app. More... | |
| struct | zp_csi_rs_resource |
| Configuration of ZP-CSI-RS-Resource as per TS38.331. More... | |
| struct | zp_csi_rs_resource_set |
| Configuration of ZP-CSI-RS-ResourceSet as per TS38.331. More... | |
Typedefs | |
| using | task_worker = general_task_worker<> |
| Default task worker type. | |
| using | task_worker_executor = general_task_worker_executor<> |
| template<typename T > | |
| using | const_span = span<const T> |
| using | unique_task = unique_function<void(), default_unique_task_buffer_size> |
| Generic moveable task. | |
| using | byte_buffer_segment_span_range |
| Range of byte spans belonging to a byte_buffer_segment_list. | |
| using | const_byte_buffer_segment_span_range |
| template<typename ByteBufferType > | |
| using | is_byte_buffer_range |
| Checks whether a type represents a range of byte_buffer_iterators (e.g. byte_buffer, byte_buffer_slice, byte_buffer_view). | |
| using | trace_clock = std::chrono::steady_clock |
| Trace Event clock types. | |
| using | trace_point = trace_clock::time_point |
| using | trace_duration = std::chrono::microseconds |
| using | slot_difference = int |
| Represents the difference between two slot points. | |
| using | slot_interval = interval<slot_point> |
| Slot Interval [start, stop). | |
| template<typename... Types> | |
| using | variant = mpark::variant<Types...> |
| template<typename E > | |
| using | error_type = expected<default_success_t, E> |
| using | pci_t = uint16_t |
| 3GPP TS 38.331, PhysCellId ::= INTEGER (0..1007) | |
| using | ssb_to_measure = bounded_bitset<64> |
| using | sib_info = variant<sib2_info, sib19_info> |
| Variant type that can hold different types of SIBs that go in a SI message. | |
| using | timer_duration = std::chrono::milliseconds |
| Unit used to represent a time duration in terms of timer_manager ticks. | |
| using | cf_t = std::complex<float> |
| Type to store complex samples. | |
| using | ci8_t = std::complex<int8_t> |
| using | ci16_t = std::complex<int16_t> |
| using | freq_resource_bitmap = bounded_bitset<pdcch_constants::MAX_NOF_FREQ_RESOURCES, true> |
| using | sch_mcs_index = bounded_integer<uint8_t, 0, 31> |
| using | nr_cell_id_t = uint64_t |
| 36-bit identifying an NR Cell Id as specified in subclause 9.3.1.7 of 3GPP TS 38.413 | |
| using | cause_t = variant<cause_radio_network_t, cause_transport_t, cause_nas_t, cause_protocol_t, cause_misc_t> |
| using | harq_pid_value = uint8_t |
| HARQ process ID value. | |
| using | mac_rx_pdu_list = static_vector<mac_rx_pdu, MAX_PUSCH_PDUS_PER_SLOT> |
| using | crc_calculator_checksum_t = unsigned |
| Checksum type. | |
| using | described_rx_codeblock = std::pair<span<const log_likelihood_ratio>, codeblock_metadata> |
| Alias for the full codeblock characterization at the receiver. | |
| using | dmrs_symbol_list |
| Container for DM-RS symbols. | |
| using | e2ap_outcome = expected<asn1::e2ap::successful_outcome_s, asn1::e2ap::unsuccessful_outcome_s> |
| using | e2ap_transaction = protocol_transaction<e2ap_outcome> |
| using | protocol_transaction_id_t = unsigned |
| Type of a transaction identifier. | |
| template<typename FutureType > | |
| using | coro_context = detail::base_coro_frame<typename FutureType::promise_type> |
| Helper to pass coroutine frame context to operator() of coroutines. | |
| using | dmrs_symbol_mask = bounded_bitset<14> |
| Data type used to represent a DMRS symbol mask for PDSCH and PUSCH transmissions. | |
| using | prb_bitmap = bounded_bitset<MAX_NOF_PRBS, true> |
| Bitset of PRBs with size up to 275. | |
| using | csi_aperiodic_trigger_state_list = static_vector<csi_aperiodic_trigger_state, MAX_NOF_CSI_APERIODIC_TRIGGERS> |
| using | csi_semi_persistent_on_pusch_trigger_state_list |
| using | bad_any_cast = linb::bad_any_cast |
| using | any = linb::any |
| using | gtpu_teid_t |
| template<typename T , bool RoundUpSizeToPowerOf2 = true> | |
| using | ring_buffer = detail::ring_buffer_impl<T, std::vector<T>, RoundUpSizeToPowerOf2> |
| template<typename T , size_t N> | |
| using | static_ring_buffer = detail::ring_buffer_impl<T, std::array<T, N>, false> |
| Ring buffer with fixed, embedded data storage via a std::array<T, N>. It can contain up to N elements. | |
| using | manual_event_flag = manual_event<void> |
| typedef static_vector< nru_pdcp_sn_discard_block, nru_max_nof_pdcp_sn_discard_blocks > | nru_pdcp_sn_discard_blocks |
| typedef static_vector< nru_lost_nru_sn_range, nru_max_nof_lost_nru_sn_ranges > | nru_lost_nru_sn_ranges |
| using | dci_payload = bounded_bitset<pdcch_constants::MAX_DCI_PAYLOAD_SIZE> |
| DCI payload data type. | |
| using | dummy_ce_payload = unsigned |
| using | rbg_bitmap = bounded_bitset<MAX_NOF_RBGS, true> |
| Bitset of RBGs with size up to 18. | |
| using | validator_result = error_type<std::string> |
| using | ri_restriction_type = bounded_bitset<8> |
| CSI Rank Indicator restriction type. | |
| using | cqi_value = bounded_integer<uint8_t, 0, 15> |
| Channel Quality Indicator value. | |
| using | csi_report_wideband_cqi_type = cqi_value |
| Channel Quality Indicator type. | |
| template<typename T > | |
| using | is_iterable = decltype(detail::is_iterable_impl<T>(0)) |
| using | csi_report_packed = bounded_bitset<csi_report_max_size.value(), false> |
| Packed Channel State Information (CSI) report data type. | |
| using | uplink_slot_pdu_entry = variant<uplink_processor::pusch_pdu, uplink_processor::pucch_pdu> |
| Defines an entry of the uplink slot PDU repository. | |
| using | gtpu_tunnel_logger = prefixed_logger<gtpu_tunnel_log_prefix> |
| using | du_rnti_table = rnti_value_table<du_ue_index_t, du_ue_index_t::INVALID_DU_UE_INDEX> |
| using | ue_con_res_id_t = std::array<uint8_t, UE_CON_RES_ID_LEN> |
| template<typename T > | |
| using | du_ue_list = slotted_array<T, MAX_NOF_DU_UES> |
| Representation of a list of UEs indexed by DU UE Index. | |
| using | ul_bsr_lcg_report_list = static_vector<ul_bsr_lcg_report, MAX_NOF_LCGS> |
| using | lcg_bsr_report_list = static_vector<lcg_bsr_report, MAX_NOF_LCGS> |
| List of reported UL BSRs. | |
| using | ph_db_range = interval<int> |
| PH value expressed in dB interval as defined in Table 10.1.17.1-1 of TS 38.133. | |
| using | p_cmax_dbm_range = interval<int> |
| P_CMAX,f,c value expressed in dBm interval as defined in Table 10.1.18.1-1 of TS 38.133. | |
| using | baseband_gateway_timestamp = uint64_t |
| Describes a baseband gateway timestamp. It is expressed in multiples of the sample time. | |
| using | prb_index_list = static_vector<uint16_t, pdcch_constants::MAX_NOF_RB_PDCCH> |
| Describes a PRB index list of unsigned 16 bit indicating the PRB index. | |
| using | uci_payload_type = bounded_bitset<uci_constants::MAX_NOF_PAYLOAD_BITS> |
| Generic UCI payload type. | |
| using | pdcch_candidate_type = uint8_t |
| PDCCH candidate and PDCCH candidate list data types. | |
| using | pdcch_candidate_list = static_vector<pdcch_candidate_type, PDCCH_MAX_NOF_CANDIDATES_SS> |
| using | crb_bitmap = bounded_bitset<MAX_NOF_PRBS, true> |
| Bitset of CRBs with size up to 275. | |
| using | crb_index_list = static_vector<uint16_t, pdcch_constants::MAX_NOF_RB_PDCCH> |
| List of CRBs for a given PDCCH candidate. | |
| using | cell_common_configuration_list = slotted_id_vector<du_cell_index_t, std::unique_ptr<cell_configuration>> |
| List of common configurations for the cells currently added in the scheduler. | |
| using | ssb_information_list = srsran::static_vector<ssb_information, MAX_SSB_PER_SLOT> |
| using | task_priority = enqueue_priority |
Priority level of an enqueued task in priority_multiqueue_task_worker. | |
| template<concurrent_queue_policy QueuePolicy> | |
| using | shared_strand_executor = detail::task_strand_executor_impl<QueuePolicy, std::shared_ptr<base_task_strand>> |
| Executor with a compile-time defined task priority, that controls the lifetime of the associated strand. | |
| using | epoll_timer_callback = std::function<void(uint64_t res)> |
| Epoll timer handler. | |
| template<typename R > | |
| using | async_procedure = base_resumable_procedure<async_task<R>> |
| Base class of non-coroutine resumable tasks. | |
| using | free_memory_block_list = detail::intrusive_memory_block_list |
| List of memory blocks. It overwrites bytes of blocks passed via push(void*). Thus, it is not safe to use for any pool of initialized objects. | |
| using | pdcp_bearer_logger = prefixed_logger<pdcp_bearer_log_prefix> |
| using | rlc_bearer_logger = prefixed_logger<rlc_bearer_log_prefix> |
| using | sdap_session_trx_logger = prefixed_logger<sdap_session_trx_log_prefix> |
| using | sdap_session_logger = prefixed_logger<sdap_session_log_prefix> |
Enumerations | |
| enum class | subcarrier_spacing { kHz15 = 0 , kHz30 , kHz60 , kHz120 , kHz240 , invalid } |
| Representation of subcarrier spacing. More... | |
| enum class | bs_channel_bandwidth_fr1 { invalid = 0 , MHz5 = 5 , MHz10 = 10 , MHz15 = 15 , MHz20 = 20 , MHz25 = 25 , MHz30 = 30 , MHz35 = 35 , MHz40 = 40 , MHz45 = 45 , MHz50 = 50 , MHz60 = 60 , MHz70 = 70 , MHz80 = 80 , MHz90 = 90 , MHz100 = 100 } |
| Labels for the BS Channel Bandwidth for FR1, described in TS38.104, Table 5.3.2-1. More... | |
| enum class | min_channel_bandwidth { MHz5 = 0 , MHz10 , MHz20 , MHz40 , invalid } |
| enum class | frequency_range { FR1 = 0 , FR2 } |
| Labels for the frequency ranges described in TS38.104 Table 5.1-1. More... | |
| enum class | concurrent_queue_policy { lockfree_spsc , lockfree_mpmc , locking_mpmc , locking_mpsc } |
| Types of concurrent queues. They differ in type of synchronization mechanism and number of producers/consumers supported. Supported types are: More... | |
| enum class | concurrent_queue_wait_policy { condition_variable , sleep , non_blocking } |
| Types of barriers used for blocking pushes/pops of elements. Three types: More... | |
| enum class | enqueue_priority : size_t { min = 0 , max = std::numeric_limits<size_t>::max() } |
Queue priority used to map to specific queue of the priority_multiqueue_task_worker. The higher the priority, the lower its integer value representation. More... | |
| enum class | cpu_feature |
| CPU feature list. More... | |
| enum class | io_broker_type { epoll , io_uring } |
| enum class | lower_phy_thread_profile { blocking = 0 , single , dual , quad } |
| Lower physical layer thread profiles. More... | |
| enum class | prach_format_type : uint8_t { zero = 0 , one , two , three , A1 , A2 , A3 , B1 , B4 , C0 , C2 , A1_B1 , A2_B2 , A3_B3 , invalid } |
| PRACH preamble formats. More... | |
| enum class | prach_subcarrier_spacing : uint8_t { kHz15 = 0 , kHz30 , kHz60 , kHz120 , kHz1_25 , kHz5 , invalid } |
| Random Access subcarrier spacing. More... | |
| enum class | restricted_set_config { UNRESTRICTED , TYPE_A , TYPE_B } |
| PRACH Restricted set configuration. More... | |
| enum class | gnb_sched_affinity_mask_types { l1_dl , l1_ul , l2_cell , ru , low_priority , last } |
| Types of CPU affinity masks in the gNB. More... | |
| enum class | gnb_sched_affinity_mask_policy { round_robin = 0 , mask = 1 , last } |
| Thread pinning policy to a CPU affinity mask in the gNB. More... | |
| enum class | n_ta_offset { n0 = 0 , n25600 = 25600 , n13792 = 13792 , n39936 = 39936 } |
Time advance offset - parameter ![]() | |
| enum class | nr_band { invalid = 0 , n1 = 1 , n2 = 2 , n3 = 3 , n5 = 5 , n7 = 7 , n8 = 8 , n12 = 12 , n13 = 13 , n14 = 14 , n18 = 18 , n20 = 20 , n24 = 24 , n25 = 25 , n26 = 26 , n28 = 28 , n29 = 29 , n30 = 30 , n34 = 34 , n38 = 38 , n39 = 39 , n40 = 40 , n41 = 41 , n46 = 46 , n48 = 48 , n50 = 50 , n51 = 51 , n53 = 53 , n65 = 65 , n66 = 66 , n67 = 67 , n70 = 70 , n71 = 71 , n74 = 74 , n75 = 75 , n76 = 76 , n77 = 77 , n78 = 78 , n79 = 79 , n80 = 80 , n81 = 81 , n82 = 82 , n83 = 83 , n84 = 84 , n85 = 85 , n86 = 86 , n89 = 89 , n90 = 90 , n91 = 91 , n92 = 92 , n93 = 93 , n94 = 94 , n95 = 95 , n96 = 96 , n97 = 97 , n98 = 98 , n99 = 99 , n100 = 100 , n101 = 101 , n102 = 102 , n104 = 104 , n255 = 255 , n256 = 256 , n257 = 257 , n258 = 258 , n259 = 259 , n260 = 260 , n261 = 261 , n262 = 262 , n263 = 263 } |
| NR operating bands in FR1 and FR2. More... | |
| enum class | ssb_periodicity { ms5 = 5 , ms10 = 10 , ms20 = 20 , ms40 = 40 , ms80 = 80 , ms160 = 160 } |
| SSB periodicity in milliseconds as per TS38.331 Section 6.3.2 IE ssb-periodicityServingCell. More... | |
| enum class | ssb_pss_to_sss_epre { dB_0 , dB_3 } |
| PSS EPRE to SSS EPRE for SSB, as per TS 38.213, Section 4.1. More... | |
| enum class | ssb_pattern_case { A , B , C , D , E , invalid } |
| Labels for the different SS/PBCH block patterns defined in TS38.213 Section 4.1. More... | |
| enum class | dc_offset_t : int { min = -static_cast<int>(NOF_SUBCARRIERS_PER_RB * MAX_NOF_PRBS) / 2 , center = 0 , max = static_cast<int>(NOF_SUBCARRIERS_PER_RB * MAX_NOF_PRBS) / 2 - 1 , outside = static_cast<int>(NOF_SUBCARRIERS_PER_RB * MAX_NOF_PRBS) / 2 , undetermined = std::numeric_limits<int>::max() } |
| Direct Current (DC) offset, in number of subcarriers. See "txDirectCurrentLocation" in TS 38.331. More... | |
| enum class | dmrs_typeA_position { pos2 = 2 , pos3 = 3 } |
| Position of first DM-RS for Downlink (see TS 38.211, clause 7.4.1.1.1) and Uplink (see TS 38.211, clause 6.4.1.1.3). More... | |
| enum class | dmrs_config_type { type1 = 1 , type2 , not_set } |
| enum class | dmrs_additional_positions { pos0 = 0 , pos1 , pos2 , pos3 } |
| Position for additional DM-RS in DL (see TS 38.211, Tables 7.4.1.1.2-3 and 7.4.1.1.2-4). More... | |
| enum class | dmrs_max_length { len1 = 1 , len2 , not_set } |
| The maximum number of OFDM symbols for DL front loaded DMRS. If set to len2, the UE determines the actual number of DM-RS symbols by the associated DCI. (see TS 38.214, clause 7.4.1.1.2). More... | |
| enum class | five_qi_t : uint16_t { min = 0 , max = MAX_FIVEQI , invalid = MAX_FIVEQI + 1 } |
| Five QI. More... | |
| enum | lcid_t : uint16_t { LCID_SRB0 = 0 , LCID_SRB1 = 1 , LCID_SRB2 = 2 , LCID_SRB3 = 3 , LCID_MIN_DRB = 4 , LCID_MAX_DRB = 32 , MAX_NOF_RB_LCIDS = 33 , INVALID_LCID = 64 } |
| Logical Channel Identity used to associate one logical channel to the corresponding RLC bearer. Values (0..32) More... | |
| enum class | srb_id_t : uint16_t { srb0 = 0 , srb1 , srb2 , srb3 , nulltype } |
| enum class | drb_id_t : uint8_t { drb1 = 1 , drb2 , drb3 , drb4 , drb5 , drb6 , drb7 , drb8 , drb9 , drb10 , drb11 , drb12 , drb13 , drb14 , drb15 , drb16 , drb17 , drb18 , drb19 , drb20 , drb21 , drb22 , drb23 , drb24 , drb25 , drb26 , drb27 , drb28 , drb29 , invalid } |
| enum class | rb_type_t { srb , drb } |
| Radio Bearer type, either SRB or DRB. More... | |
| enum class | paging_cycle { rf32 = 32 , rf64 = 64 , rf128 = 128 , rf256 = 256 } |
| Default paging cycle, used to derive 'T' in TS 38.304. Value rf32 corresponds to 32 radio frames and so on. More... | |
| enum | search_space_id : uint8_t { MIN_SEARCH_SPACE_ID = 0 , MAX_SEARCH_SPACE_ID = 39 , MAX_NOF_SEARCH_SPACES = 40 } |
| Search Space identifier. This value is UE-specific, which means that a UE can have up to "maxNrofSearchSpaces=40" Search Spaces configured. The ID space is used across BWPs of a serving cell. More... | |
| enum class | search_space_set_type { type0 , type0A , type1 , type2 , type3 , ue_specific } |
| Search Space Set Type as per TS38.213, Section 10.1. More... | |
| enum class | search_space_type { common , ue_dedicated } |
| SearchSpace Type. More... | |
| enum class | pdsch_mcs_table { qam64 = 0 , qam256 = 1 , qam64LowSe = 2 } |
| Modulation and Code Scheme table identifiers for PDSCH. More... | |
| enum class | pucch_f4_occ_len { n2 , n4 } |
Options for occ-Length in PUCCH-format4, in PUCCH-Config, TS 38.331. More... | |
| enum class | pucch_f4_occ_idx { n0 , n1 , n2 , n3 } |
Options for occ-Index in PUCCH-format4, in PUCCH-Config, TS 38.331. More... | |
| enum class | max_pucch_code_rate { not_set = 0 , dot_08 , dot_15 , dot_25 , dot_35 , dot_45 , dot_60 , dot_80 } |
Options for PUCCH-MaxCodeRate in PUCCH-Config, TS 38.331. More... | |
| enum class | pusch_mcs_table { qam64 = 0 , qam256 = 1 , qam64LowSe = 2 , qam64_tp = 3 , qam64LowSe_tp = 4 } |
| Modulation and Code Scheme table identifiers for PUSCH. More... | |
| enum class | rnti_t : uint16_t { INVALID_RNTI = 0x0 , MIN_CRNTI = 0x1 , MAX_CRNTI = 0xffef , MIN_RESERVED_RNTI = 0xfff0 , MAX_RESERVED_RNTI = 0xfffd , P_RNTI = 0xfffe , SI_RNTI = 0xffff } |
| enum class | sib_type { sib1 = 1 , sib2 = 2 , sib19 = 19 , sib_invalid } |
| enum class | t_evaluation { s30 , s60 , s120 , s180 , s240 , spare3 , spare2 , spare1 } |
| enum class | t_hyst_normal { s30 , s60 , s120 , s180 , s240 , spare3 , spare2 , spare1 } |
| enum | du_ue_index_t : uint16_t { MIN_DU_UE_INDEX = 0 , MAX_DU_UE_INDEX = 1023 , MAX_NOF_DU_UES = 1024 , INVALID_DU_UE_INDEX = 1024 } |
| Maximum number of UEs supported by DU (implementation-defined). More... | |
| enum | du_cell_index_t : uint16_t { MIN_DU_CELL_INDEX = 0 , MAX_DU_CELL_INDEX = 15 , MAX_NOF_DU_CELLS = 16 , INVALID_DU_CELL_INDEX = MAX_NOF_DU_CELLS } |
| Maximum number of cells supported by DU (implementation-defined). More... | |
| enum | ue_cell_index_t : uint16_t { PCELL_INDEX = 0 , MAX_UE_SCELL_INDEX = 15 , MAX_NOF_SCELL_INDEXES = 16 , INVALID_UE_CELL_INDEX = MAX_NOF_SCELL_INDEXES } |
| Maximum number of cells supported by a single UE. More... | |
| enum | du_cell_group_index_t : uint16_t { MAX_DU_CELL_GROUPS = du_cell_index_t::MAX_NOF_DU_CELLS , INVALID_DU_CELL_GROUP_INDEX = MAX_DU_CELL_GROUPS } |
| DU-specific index to group of cells that might be aggregated into a UE-specific CellGroup, if the UE is CA-capable. More... | |
| enum class | duplex_mode { FDD = 0 , TDD , SDL , SUL , INVALID } |
| NR Duplex mode. More... | |
| enum class | timer_id_t : unsigned { invalid = std::numeric_limits<unsigned>::max() } |
| Type used to represent a unique timer identifier. More... | |
| enum class | nof_cyclic_shifts { no_cyclic_shift = 1 , two = 2 , three = 3 , four = 4 , six = 6 , twelve = 12 } |
| Options for the number of Initial Cyclic Shifts that can be set for PUCCH Format 1. More... | |
| enum | coreset_id : uint8_t { MAX_CORESET_ID = 11 , MAX_NOF_CORESETS = 12 } |
| CORESET identifier. This value is UE-specific, which means that a UE can have up to "maxNrofControlResourceSets" CORESETS configured. More... | |
| enum class | pucch_group_hopping { NEITHER , ENABLE , DISABLE } |
| Configuration of group and sequence hopping as described in TS38.331 PUCCH-ConfigCommon IE. More... | |
| enum class | pucch_format { FORMAT_0 , FORMAT_1 , FORMAT_2 , FORMAT_3 , FORMAT_4 , NOF_FORMATS } |
| PUCCH Formats as described in TS38.213 Section 9.2. More... | |
| enum class | pucch_repetition_tx_slot { no_multi_slot , starts , continues , ends } |
| enum | scheduling_request_id : uint8_t { SR_ID_MIN = 0 , SR_ID_MAX = 7 } |
SchedulingRequestResourceId, as per TS 38.331. More... | |
| enum class | sr_periodicity : int { sym_2 = -2 , sym_6_or_7 = -1 , sl_1 = 1 , sl_2 = 2 , sl_4 = 4 , sl_5 = 5 , sl_8 = 8 , sl_10 = 10 , sl_16 = 16 , sl_20 = 20 , sl_40 = 40 , sl_80 = 80 , sl_160 = 160 , sl_320 = 320 , sl_640 = 640 } |
| enum class | sr_prohib_timer { ms1 , ms2 , ms4 , ms8 , ms16 , ms32 , ms64 , ms128 } |
sr-ProhibitTimer possible values, for SchedulingRequestToAddMod, TS 38.331. More... | |
| enum class | sr_max_tx { n4 = 4 , n8 = 8 , n16 = 16 , n32 = 32 , n64 = 64 } |
sr-TransMax possible values, for SchedulingRequestToAddMod, TS 38.331. More... | |
| enum class | ssb_coreset0_mplex_pattern { mplx_pattern1 = 0 , mplx_pattern2 , mplx_pattern3 , mplex_invalid } |
| Refer to "SS/PBCH block and CORESET multiplexing pattern", TS 38.213, Section 13. More... | |
| enum class | modulation_scheme { PI_2_BPSK = 0 , BPSK = 1 , QPSK = 2 , QAM16 = 4 , QAM64 = 6 , QAM256 = MODULATION_MAX_BITS_PER_SYMBOL } |
| Modulation schemes as described in TS38.211 Section 5.1. More... | |
| enum class | pdcp_rb_type { srb , drb } |
| PDCP NR SRB or DRB information. More... | |
| enum class | pdcp_rlc_mode { um , am } |
| PDCP NR RLC mode information. More... | |
| enum class | pdcp_sn_size : uint8_t { size12bits = 12 , size18bits = 18 } |
| PDCP NR sequence number field. More... | |
| enum class | pdcp_security_direction { uplink , downlink } |
| PDCP security direction. More... | |
| enum class | pdcp_discard_timer { ms10 = 10 , ms20 = 20 , ms30 = 30 , ms40 = 40 , ms50 = 50 , ms60 = 60 , ms75 = 75 , ms100 = 100 , ms150 = 150 , ms200 = 200 , ms250 = 250 , ms300 = 300 , ms500 = 500 , ms750 = 750 , ms1500 = 1500 , infinity = -1 } |
| enum class | rlc_mode { tm , um_bidir , um_unidir_ul , um_unidir_dl , am } |
| RLC NR modes. More... | |
| enum class | rlc_um_sn_size : uint16_t { size6bits = 6 , size12bits = 12 } |
| RLC UM NR sequence number field. More... | |
| enum class | rlc_am_sn_size : uint16_t { size12bits = 12 , size18bits = 18 } |
| RLC AM NR sequence number field. More... | |
| enum class | rlc_t_reassembly { ms0 = 0 , ms5 = 5 , ms10 = 10 , ms15 = 15 , ms20 = 20 , ms25 = 25 , ms30 = 30 , ms35 = 35 , ms40 = 40 , ms45 = 45 , ms50 = 50 , ms55 = 55 , ms60 = 60 , ms65 = 65 , ms70 = 70 , ms75 = 75 , ms80 = 80 , ms85 = 85 , ms90 = 90 , ms95 = 95 , ms100 = 100 , ms110 = 110 , ms120 = 120 , ms130 = 130 , ms140 = 140 , ms150 = 150 , ms160 = 160 , ms170 = 170 , ms180 = 180 , ms190 = 190 , ms200 = 200 } |
| Converts sequence number field to numeric its value. More... | |
| enum class | rlc_t_poll_retransmit { ms5 = 5 , ms10 = 10 , ms15 = 15 , ms20 = 20 , ms25 = 25 , ms30 = 30 , ms35 = 35 , ms40 = 40 , ms45 = 45 , ms50 = 50 , ms55 = 55 , ms60 = 60 , ms65 = 65 , ms70 = 70 , ms75 = 75 , ms80 = 80 , ms85 = 85 , ms90 = 90 , ms95 = 95 , ms100 = 100 , ms105 = 105 , ms110 = 110 , ms115 = 115 , ms120 = 120 , ms125 = 125 , ms130 = 130 , ms135 = 135 , ms140 = 140 , ms145 = 145 , ms150 = 150 , ms155 = 155 , ms160 = 160 , ms165 = 165 , ms170 = 170 , ms175 = 175 , ms180 = 180 , ms185 = 185 , ms190 = 190 , ms195 = 195 , ms200 = 200 , ms205 = 205 , ms210 = 210 , ms215 = 215 , ms220 = 220 , ms225 = 225 , ms230 = 230 , ms235 = 235 , ms240 = 240 , ms245 = 245 , ms250 = 250 , ms300 = 300 , ms350 = 350 , ms400 = 400 , ms450 = 450 , ms500 = 500 , ms800 = 800 , ms1000 = 1000 , ms2000 = 2000 , ms4000 = 4000 } |
| enum class | rlc_max_retx_threshold { t1 = 1 , t2 = 2 , t3 = 3 , t4 = 4 , t6 = 6 , t8 = 8 , t16 = 16 , t32 = 32 } |
| enum class | rlc_poll_pdu { p4 = 4 , p8 = 8 , p16 = 16 , p32 = 32 , p64 = 64 , p128 = 128 , p256 = 256 , p512 = 512 , p1024 = 1024 , p2048 = 2048 , p4096 = 4096 , p6144 = 6144 , p8192 = 8192 , p12288 = 12288 , p16384 = 16384 , p20480 = 20480 , p24576 = 24576 , p28672 = 28672 , p32768 = 32768 , p40960 = 40960 , p49152 = 49152 , p57344 = 57344 , p65536 = 65536 , infinity = -1 } |
| enum class | rlc_poll_kilo_bytes { kB1 = 1 , kB2 = 2 , kB5 = 5 , kB8 = 8 , kB10 = 10 , kB15 = 15 , kB25 = 25 , kB50 = 50 , kB75 = 75 , kB100 = 100 , kB125 = 125 , kB250 = 250 , kB375 = 375 , kB500 = 500 , kB750 = 750 , kB1000 = 1000 , kB1250 = 1250 , kB1500 = 1500 , kB2000 = 2000 , kB3000 = 3000 , kB4000 = 4000 , kB4500 = 4500 , kB5000 = 5000 , kB5500 = 5500 , kB6000 = 6000 , kB6500 = 6500 , kB7000 = 7000 , kB7500 = 7500 , mB8 = 8000 , mB9 = 9000 , mB10 = 10000 , mB11 = 11000 , mB12 = 12000 , mB13 = 13000 , mB14 = 14000 , mB15 = 15000 , mB16 = 16000 , mB17 = 17000 , mB18 = 18000 , mB20 = 20000 , mB25 = 25000 , mB30 = 30000 , mB40 = 40000 , infinity = -1 } |
| enum class | rlc_t_status_prohibit { ms0 = 0 , ms5 = 5 , ms10 = 10 , ms15 = 15 , ms20 = 20 , ms25 = 25 , ms30 = 30 , ms35 = 35 , ms40 = 40 , ms45 = 45 , ms50 = 50 , ms55 = 55 , ms60 = 60 , ms65 = 65 , ms70 = 70 , ms75 = 75 , ms80 = 80 , ms85 = 85 , ms90 = 90 , ms95 = 95 , ms100 = 100 , ms105 = 105 , ms110 = 110 , ms115 = 115 , ms120 = 120 , ms125 = 125 , ms130 = 130 , ms135 = 135 , ms140 = 140 , ms145 = 145 , ms150 = 150 , ms155 = 155 , ms160 = 160 , ms165 = 165 , ms170 = 170 , ms175 = 175 , ms180 = 180 , ms185 = 185 , ms190 = 190 , ms195 = 195 , ms200 = 200 , ms205 = 205 , ms210 = 210 , ms215 = 215 , ms220 = 220 , ms225 = 225 , ms230 = 230 , ms235 = 235 , ms240 = 240 , ms245 = 245 , ms250 = 250 , ms300 = 300 , ms350 = 350 , ms400 = 400 , ms450 = 450 , ms500 = 500 , ms800 = 800 , ms1000 = 1000 , ms1200 = 1200 , ms1600 = 1600 , ms2000 = 2000 , ms2400 = 2400 } |
| enum class | rlc_dc_field : unsigned { control = 0b00 , data = 0b01 } |
| RLC AM NR segmentation info. More... | |
| enum class | rlc_si_field : unsigned { full_sdu = 0b00 , first_segment = 0b01 , last_segment = 0b10 , middle_segment = 0b11 } |
| RLC AM NR segmentation info. More... | |
| enum class | rlc_control_pdu_type : unsigned { status_pdu = 0b000 } |
| enum class | bsr_format { SHORT_BSR , LONG_BSR , SHORT_TRUNC_BSR , LONG_TRUNC_BSR } |
| TS 38.321, 6.1.3.1 - Buffer Status Report MAC CEs. More... | |
| enum class | periodic_bsr_timer { sf1 = 1 , sf5 = 5 , sf10 = 10 , sf16 = 16 , sf20 = 20 , sf32 = 32 , sf40 = 40 , sf64 = 64 , sf80 = 80 , sf128 = 128 , sf160 = 160 , sf320 = 320 , sf640 = 640 , sf1280 = 1280 , sf2560 = 2560 , infinity = 0 } |
periodicBSR-Timer, as part of BSR-Config, TS 38.331. More... | |
| enum class | retx_bsr_timer { sf10 = 10 , sf20 = 20 , sf40 = 40 , sf80 = 80 , sf160 = 160 , sf320 = 320 , sf640 = 640 , sf1280 = 1280 , sf2560 = 2560 , sf5120 = 5120 , sf10240 = 10240 } |
retxBSR-Timer, as part of BSR-Config, TS 38.331. More... | |
| enum class | logical_channel_sr_delay_timer { sf20 = 20 , sf40 = 40 , sf64 = 64 , sf128 = 128 , sf512 = 512 , sf1024 = 1024 , sf2560 = 2560 } |
logicalChannelSR-DelayTimer, as part of BSR-Config, TS 38.331. More... | |
| enum class | phr_periodic_timer { sf10 = 10 , sf20 = 20 , sf50 = 50 , sf100 = 100 , sf200 = 200 , sf500 = 500 , sf1000 = 1000 , infinity = 0 } |
phr-PeriodicTimer, in PHR-Config, TS 38.331. More... | |
| enum class | phr_prohibit_timer { sf0 = 0 , sf10 = 10 , sf20 = 20 , sf50 = 50 , sf100 = 100 , sf200 = 200 , sf500 = 500 , sf1000 = 1000 } |
phr-ProhibitTimer, in PHR-Config, TS 38.331. More... | |
| enum class | phr_tx_power_factor_change { db1 = 1 , db3 = 3 , db6 = 6 , infinity = 0 } |
phr-Tx-PowerFactorChange, in PHR-Config, TS 38.331. More... | |
| enum class | phr_mode_other_cg { real , virtual_ } |
phr-ModeOtherCG, in PHR-Config, TS 38.331. More... | |
| enum | ssb_id_t : uint8_t { MIN_SSB_ID = 0 , MAX_SSB_ID = 63 , MAX_NOF_SSB_RESOURCES = 64 } |
| enum | bwp_id_t : uint8_t { MIN_BWP_ID = 0 , MAX_BWP_ID = 3 , MAX_NOF_BWPS = 4 } |
| enum class | sch_mapping_type { typeA , typeB } |
| Physical shared channels Mapping Type. More... | |
| enum class | x_overhead { not_set = 0 , xoh6 = 6 , xoh12 = 12 , xoh18 = 18 } |
xOverhead options, as per TS 38.331. Used in PDSCH-ServingCellConfig and PUSCH-ServingCellConfig. More... | |
| enum | serv_cell_index_t : uint8_t { SERVING_CELL_PCELL_IDX = 0 , MAX_SERVING_CELL_IDX = 31 , MAX_NOF_SCELLS = 31 , MAX_NOF_SERVING_CELLS = 32 , SERVING_CELL_INVALID = MAX_NOF_SERVING_CELLS } |
| enum class | pdcp_t_reordering { ms0 = 0 , ms1 = 1 , ms2 = 2 , ms4 = 4 , ms5 = 5 , ms8 = 8 , ms10 = 10 , ms15 = 15 , ms20 = 20 , ms30 = 30 , ms40 = 40 , ms50 = 50 , ms60 = 60 , ms80 = 80 , ms100 = 100 , ms120 = 120 , ms140 = 140 , ms160 = 160 , ms180 = 180 , ms200 = 200 , ms220 = 220 , ms240 = 240 , ms260 = 260 , ms280 = 280 , ms300 = 300 , ms500 = 500 , ms750 = 750 , ms1000 = 1000 , ms1250 = 1250 , ms1500 = 1500 , ms1750 = 1750 , ms2000 = 2000 , ms2250 = 2250 , ms2500 = 2500 , ms2750 = 2750 , ms3000 = 3000 , infinity = -1 } |
| PDCP NR t-Reordering timer values. This timer is used to detect loss of PDCP Data PDUs. See TS 38.322 for timer description and TS 38.331 for valid timer durations. More... | |
| enum class | cause_radio_network_t : uint8_t { unspecified = 0 , txnrelocoverall_expiry , successful_ho , release_due_to_ngran_generated_reason , release_due_to_5gc_generated_reason , ho_cancelled , partial_ho , ho_fail_in_target_5_gc_ngran_node_or_target_sys , ho_target_not_allowed , tngrelocoverall_expiry , tngrelocprep_expiry , cell_not_available , unknown_target_id , no_radio_res_available_in_target_cell , unknown_local_ue_ngap_id , inconsistent_remote_ue_ngap_id , ho_desirable_for_radio_reason , time_crit_ho , res_optim_ho , reduce_load_in_serving_cell , user_inactivity , radio_conn_with_ue_lost , radio_res_not_available , invalid_qos_combination , fail_in_radio_interface_proc , interaction_with_other_proc , unknown_pdu_session_id , unkown_qos_flow_id , multiple_pdu_session_id_instances , multiple_qos_flow_id_instances , encryption_and_or_integrity_protection_algorithms_not_supported , ng_intra_sys_ho_triggered , ng_inter_sys_ho_triggered , xn_ho_triggered , not_supported_5qi_value , ue_context_transfer , ims_voice_eps_fallback_or_rat_fallback_triggered , up_integrity_protection_not_possible , up_confidentiality_protection_not_possible , slice_not_supported , ue_in_rrc_inactive_state_not_reachable , redirection , res_not_available_for_the_slice , ue_max_integrity_protected_data_rate_reason , release_due_to_cn_detected_mob } |
| enum class | cause_transport_t : uint8_t { transport_res_unavailable = 0 , unspecified } |
| enum class | cause_nas_t : uint8_t { normal_release = 0 , authentication_fail , deregister , unspecified } |
| enum class | cause_protocol_t : uint8_t { transfer_syntax_error = 0 , abstract_syntax_error_reject , abstract_syntax_error_ignore_and_notify , msg_not_compatible_with_receiver_state , semantic_error , abstract_syntax_error_falsely_constructed_msg , unspecified } |
| enum class | cause_misc_t : uint8_t { ctrl_processing_overload = 0 , not_enough_user_plane_processing_res , hardware_fail , om_intervention , unknown_plmn_or_sn_pn , unspecified } |
| enum class | establishment_cause_t : uint8_t { emergency = 0 , high_prio_access , mt_access , mo_sig , mo_data , mo_voice_call , mo_video_call , mo_sms , mps_prio_access , mcs_prio_access } |
| enum class | pdu_session_id_t : uint16_t { min = 0 , max = MAX_NOF_PDU_SESSIONS - 1 , invalid = MAX_NOF_PDU_SESSIONS } |
| PDU Session ID. More... | |
| enum class | qos_flow_id_t : uint8_t { min = 0 , max = MAX_NOF_QOS_FLOWS - 1 , invalid = MAX_NOF_QOS_FLOWS } |
| QoS Flow ID. More... | |
| enum class | ran_ue_id_t : uint64_t { min = 0 , max = MAX_NOF_RAN_UES - 1 , invalid = 0x1ffffffff } |
| enum class | integrity_protection_result_t { performed , not_performed } |
| enum class | confidentiality_protection_result_t { performed , not_performed } |
| enum class | integrity_protection_indication_t { required , preferred , not_needed } |
| enum class | confidentiality_protection_indication_t { required , preferred , not_needed } |
| enum class | activity_notification_level_t : uint8_t { ue = 0 , pdu_session = 1 , drb = 2 , invalid = 3 } |
| enum class | gnb_du_id_t : uint64_t { min = 0 , max = 68719476735 , invalid = max + 1 } |
| Global NodeB DU ID as per TS 38.473. More... | |
| enum class | prioritized_bit_rate { kBps0 = 0 , kBps8 = 8 , kBps16 = 16 , kBps32 = 32 , kBps64 = 64 , kBps128 = 128 , kBps256 = 256 , kBps512 = 512 , kBps1024 = 1024 , kBps2048 = 2048 , kBps4096 = 4096 , kBps8192 = 8192 , kBps16384 = 16384 , kBps32768 = 32768 , kBps65536 = 65536 , infinity = 65537 } |
Prioritized Bit rate value in kiloBytes/s. See TS 38.331, prioritisedBitRate. More... | |
| enum class | bucket_size_duration { ms5 = 5 , ms10 = 10 , ms20 = 20 , ms50 = 50 , ms100 = 100 , ms150 = 150 , ms300 = 300 , ms500 = 500 , ms1000 = 1000 , spare7 = 1007 , spare6 = 1006 , spare5 = 1005 , spare4 = 1004 , spare3 = 1003 , spare2 = 1002 , spare1 = 1001 } |
Bucket size duration in milliseconds. See TS 38.331, bucketSizeDuration. More... | |
| enum class | mac_pcap_type { udp , dlt } |
| enum class | aggregation_level : uint8_t { n1 = 0 , n2 , n4 , n8 , n16 } |
| Aggregation Level of PDCCH allocation. More... | |
| enum class | sib1_rtx_periodicity { ms5 = 5 , ms10 = 10 , ms20 = 20 , ms40 = 40 , ms80 = 80 , ms160 = 160 } |
| SIB retransmission periodicity in milliseconds as per TS38.331 Section 5.2.1. More... | |
| enum class | crc_generator_poly { CRC24A , CRC24B , CRC24C , CRC16 , CRC11 , CRC6 } |
| CRC cyclic generator polynomials identifiers. More... | |
| enum class | polar_interleaver_direction { tx , rx } |
| enum class | port_channel_estimator_fd_smoothing_strategy { none = 0 , mean , filter } |
| Port channel estimator frequency domain smoothing strategy. More... | |
| enum class | lower_phy_baseband_buffer_size_policy : unsigned { slot = 0 , half_slot , single_packet , optimal_slot } |
| Lower physical layer baseband gateway buffer size policy. More... | |
| enum class | protocol_transaction_failure { timeout , cancel , abnormal } |
| Error causes for the case of transactions that timed out or were cancelled. More... | |
| enum class | ldpc_base_graph_type : uint8_t { BG1 = 1 , BG2 = 2 } |
| LDPC Base graph types. More... | |
| enum | lcg_id_t : uint8_t { MAX_LCG_ID = 7 , MAX_NOF_LCGS = 8 , LCG_ID_INVALID = 8 } |
| Logical Channel Group as per TS38.331. More... | |
| enum | tag_id_t { MAX_TAG_ID = 3 , INVALID_TAG_ID = MAX_NOF_TAGS } |
TAG-Id, TS 38.331. More... | |
| enum class | time_alignment_timer { ms500 = 500 , ms750 = 750 , ms1280 = 1280 , ms1920 = 1920 , ms2560 = 2560 , ms5120 = 5120 , ms10240 = 10240 , infinity = 0 } |
TimeAlignmentTimer, TS 38.331. More... | |
| enum class | csi_resource_periodicity { slots4 = 4 , slots5 = 5 , slots8 = 8 , slots10 = 10 , slots16 = 16 , slots20 = 20 , slots32 = 32 , slots40 = 40 , slots64 = 64 , slots80 = 80 , slots160 = 160 , slots320 = 320 , slots640 = 640 } |
| enum | rate_match_pattern_id_t : uint8_t { MIN_RATE_MATCH_PATTERN_ID = 0 , MAX_RATE_MATCH_PATTERN_ID = 3 , MAX_NOF_RATE_MATCH_PATTERNS = 4 } |
| Rate matching pattern id used to identify a Rate matching pattern configuration. More... | |
| enum | p0_pusch_alphaset_id : uint8_t { MIN_P0_PUSCH_ALPHASET_ID = 0 , MAX_P0_PUSCH_ALPHASET_ID = 29 , MAX_NOF_P0_PUSCH_ALPHASETS = 30 } |
| enum | tci_state_id_t : uint8_t { MIN_TCI_STATE_ID = 0 , MAX_TCI_STATE_ID = 127 , MAX_NOF_TCI_STATES = 128 } |
| TCI-State id used to identify a TCI-State configuration. More... | |
| enum class | qos_prio_level_t : uint8_t { min = 0 , max = MAX_QOS_PRIO_LEVEL , invalid = MAX_QOS_PRIO_LEVEL + 1 } |
| QoS Priority Level. More... | |
| enum class | sdap_hdr_ul_cfg { present = 0 , absent } |
| SDAP header options for UL. More... | |
| enum class | sdap_hdr_dl_cfg { present = 0 , absent } |
| SDAP header options for DL. More... | |
| enum class | cu_up_cn_support_t { c_epc = 0 , c_5gc , both } |
| enum class | gnb_cu_ue_f1ap_id_t : uint64_t { min = 0 , max = MAX_NOF_CU_F1AP_UES - 1 , invalid = 0x1ffffffff } |
| enum class | gnb_du_ue_f1ap_id_t : uint64_t { min = 0 , max = MAX_NOF_DU_F1AP_UES - 1 , invalid = 0x1ffffffff } |
| enum class | gnb_cu_cp_ue_e1ap_id_t : uint64_t { min = 0 , max = MAX_NOF_CU_CP_E1AP_UES - 1 , invalid = 0x1ffffffff } |
| enum class | gnb_cu_up_ue_e1ap_id_t : uint64_t { min = 0 , max = MAX_NOF_CU_CP_E1AP_UES - 1 , invalid = 0x1ffffffff } |
| enum class | resource_allocation { resource_allocation_type_0 , resource_allocation_type_1 , dynamic_switch } |
| Resource allocation type for DCI formats 0_1 and 1_1. More... | |
| enum class | dynamic_resource_allocation { type_0 , type_1 } |
| Dynamic resource allocation indicator for DCI formats 0_1 and 1_1. More... | |
| enum class | tx_scheme_codebook_subset : unsigned { fully_and_partial_and_non_coherent , partial_and_non_coherent , non_coherent } |
| Subset of PMIs addressed by TPMI, where PMIs are those supported by UEs with maximum coherence capabilities. More... | |
| enum class | rbg_size { config1 , config2 } |
| RBG size types for PDSCH. More... | |
| enum class | nominal_rbg_size : unsigned { P2 = 2 , P4 = 4 , P8 = 8 , P16 = 16 } |
| enum | csi_report_config_id_t : uint8_t { MIN_CSI_REPORT_CONFIG_ID = 0 , MAX_CSI_REPORT_CONFIG_ID = 47 , MAX_NOF_CSI_REPORT_CONFIGS = 48 } |
| CSI-ReportConfigId is used to identify one CSI-ReportConfig. More... | |
| enum class | csi_report_periodicity { slots4 = 4 , slots5 = 5 , slots8 = 8 , slots10 = 10 , slots16 = 16 , slots20 = 20 , slots40 = 40 , slots80 = 80 , slots160 = 160 , slots320 = 320 } |
| Periodicity and slot offset. More... | |
| enum class | cqi_table_t { table1 , table2 , table3 , table4 } |
| CQI table to use for CQI calculation. More... | |
| enum | csi_res_config_id_t : uint8_t { MIN_CSI_RESOURCE_CONFIG_ID = 0 , MAX_CSI_RESOURCE_CONFIG_ID = 111 , MAX_NOF_CSI_RESOURCE_CONFIGS = 112 } |
| CSI-ResourceConfigId is used to identify a CSI-ResourceConfig. More... | |
| enum | nzp_csi_rs_res_id_t : uint8_t { MIN_NZP_CSI_RS_RESOURCE_ID = 0 , MAX_NZP_CSI_RS_RESOURCE_ID = 191 , MAX_NOF_NZP_CSI_RS_RESOURCES = 192 } |
| NZP-CSI-RS-ResourceId is used to identify one NZP-CSI-RS-Resource. More... | |
| enum | nzp_csi_rs_res_set_id_t : uint8_t { MIN_NZP_CSI_RS_RESOURCE_SET_ID = 0 , MAX_NZP_CSI_RS_RESOURCE_SET_ID = 63 , MAX_NOF_NZP_CSI_RS_RESOURCE_SETS = 64 , MAX_NOF_NZP_CSI_RS_RESOURCES_PER_SET = 16 } |
| NZP-CSI-RS-ResourceSetId is used to identify one NZP-CSI-RS-ResourceSet. More... | |
| enum | csi_im_res_id_t : uint8_t { MIN_CSI_IM_RESOURCE_ID = 0 , MAX_CSI_IM_RESOURCE_ID = 31 , MAX_NOF_CSI_IM_RESOURCES = 32 } |
| CSI-IM-ResourceId is used to identify one CSI-IM-Resource. More... | |
| enum | csi_im_res_set_id_t : uint8_t { MIN_CSI_IM_RESOURCE_SET_ID = 0 , MAX_CSI_IM_RESOURCE_SET_ID = 63 , MAX_NOF_CSI_IM_RESOURCE_SETS = 64 , MAX_NOF_CSI_IM_RESOURCES_PER_SET = 8 } |
| CSI-IM-ResourceSetId is used to identify CSI-IM-ResourceSets. More... | |
| enum | csi_ssb_res_set_id_t { MIN_CSI_SSB_RESOURCE_SET_ID = 0 , MAX_CSI_SSB_RESOURCE_SET_ID = 63 , MAX_NOF_CSI_SSB_RESOURCE_SETS = 64 , MAX_NOF_CSI_SSB_RESOURCES_PER_SET = 64 } |
| CSI-SSB-ResourceSetId is used to identify one SS/PBCH block resource set. More... | |
| enum | zp_csi_rs_res_id_t : uint8_t { MIN_ZP_CSI_RS_RESOURCE_ID = 0 , MAX_ZP_CSI_RS_RESOURCE_ID = 31 , MAX_NOF_ZP_CSI_RS_RESOURCES = 32 } |
| ZP-CSI-ResourceId is used to identify one ZP-CSI-Resource. More... | |
| enum | zp_csi_rs_res_set_id_t : uint8_t { MIN_ZP_CSI_RS_RESOURCE_SET_ID = 0 , MAX_ZP_CSI_RS_RESOURCE_SET_ID = 15 , MAX_NOF_ZP_CSI_RS_RESOURCE_SETS = 16 } |
| ZP-CSI-ResourceSetId is used to identify one ZP-CSI-ResourceSet. More... | |
| enum class | csi_rs_type : uint8_t { TRS , CSI_RS_NZP , CSI_RS_ZP } |
| CSI-RS types. More... | |
| enum class | csi_rs_cdm_type { no_CDM = 0 , fd_CDM2 , cdm4_FD2_TD2 , cdm8_FD2_TD4 } |
| Code-Division Multiplexing (CDM) strategies for CSI-RS. More... | |
| enum class | csi_rs_freq_density_type { dot5_even_RB = 0 , dot5_odd_RB , one , three } |
| Strategies regarding Resource Element (RE) density in the frequency domain for CSI-RS signals. More... | |
| enum class | alpha : unsigned { alpha0 , alpha04 , alpha05 , alpha06 , alpha07 , alpha08 , alpha09 , alpha1 , not_set } |
| enum class | alpha_scaling_opt { f0p5 , f0p65 , f0p8 , f1 } |
scaling values options, part of UCI-OnPUSCH, part of PUSCH-Config, as per TS 38.331. More... | |
| enum class | pdsch_harq_ack_codebook { semistatic , dynamic } |
Options for pdsch-HARQ-ACK-Codebook, in PhysicalCellGroupConfig, TS 38.331. More... | |
| enum | harq_id_t : uint8_t { MAX_HARQ_ID = 15 , MAX_NOF_HARQS = 16 , INVALID_HARQ_ID = 16 } |
| Identification of an HARQ process. More... | |
| enum class | mac_harq_ack_report_status { nack = 0 , ack , dtx } |
| Outcomes of a HARQ-ACK report. More... | |
| enum class | uci_pucch_f0_or_f1_harq_values { nack , ack , dtx } |
| HARQ values for UCI PUCCH Format 0 or Format 1. More... | |
| enum class | uci_pusch_or_pucch_f2_3_4_detection_status { crc_pass = 1 , crc_failure , dtx , no_dtx , dtx_not_checked } |
| Indicates CRC result on UCI containing HARQ/CSI Part 1/CSI Part 2 data. More... | |
| enum class | dci_dl_format { f1_0 , f1_1 , f2_0 } |
| enum class | dci_ul_format { f0_0 , f0_1 } |
| enum class | dci_dl_rnti_config_type { si_f1_0 , ra_f1_0 , c_rnti_f1_0 , tc_rnti_f1_0 , p_rnti_f1_0 , c_rnti_f1_1 } |
| Defines which fields are stored in the DCI payload, based on the chosen DCI format and RNTI type. More... | |
| enum class | dci_ul_rnti_config_type { tc_rnti_f0_0 , c_rnti_f0_0 , c_rnti_f0_1 } |
| Defines which fields are stored in the DCI payload, based on the chosen DCI format and RNTI type. More... | |
| enum class | pmi_codebook_type { one = 0 , two , typeI_single_panel_4ports_mode1 , other } |
| CSI-RS PMI report codebook configuration. More... | |
| enum class | csi_report_quantities { cri_ri_pmi_cqi = 0 , cri_ri_cqi , cri_ri_li_pmi_cqi , other } |
| CSI report quantities. More... | |
| enum class | sr_nof_bits : unsigned { no_sr = 0 , one , two , three , four } |
| enum class | pucch_format_4_sf { sf2 , sf4 } |
| PUCCH Format 4 spreading factor. More... | |
| enum class | polar_code_ibil { not_present , present } |
| Labels for the internal bit interleaver. More... | |
| enum class | uci_status { unknown = 0 , valid , invalid } |
| Labels for the UCI decoding/detection status, common for both PUCCH and PUSCH UCI. More... | |
| enum class | paging_identity_type { ran_ue_paging_identity , cn_ue_paging_identity } |
| Type of Paging. RAN initiated or CN initiated. More... | |
| enum | e2sm_service_model_t { KPM , RC , UNKNOWN_SM } |
| enum | e2sm_kpm_metric_level_enum { E2_NODE_LEVEL = 0x01 , UE_LEVEL = 0x02 , QOS_FLOW_LEVEL = 0x04 , ALL_LEVELS = 0x07 , UNKNOWN_LEVEL = 0x10 } |
| enum | e2sm_kpm_label_enum { NO_LABEL = 0x00000001 , PLMN_ID_LABEL = 0x00000002 , SLICE_ID_LABEL = 0x00000004 , FIVE_QI_LABEL = 0x00000008 , QFI_LABEL = 0x00000010 , QCI_LABEL = 0x00000020 , QCI_MAX_LABEL = 0x00000040 , QCI_MIN_LABEL = 0x00000080 , ARP_MAX_LABEL = 0x00000100 , ARP_MIN_LABEL = 0x00000200 , BITRATE_RANGE_LABEL = 0x00000400 , LAYER_MU_MIMO_LABEL = 0x00000800 , SUM_LABEL = 0x00001000 , DIST_BIN_X_LABEL = 0x00002000 , DIST_BIN_Y_LABEL = 0x00004000 , DIST_BIN_Z_LABEL = 0x00008000 , PRE_LABEL_OVERRIDE_LABEL = 0x00010000 , START_END_IND_LABEL = 0x00020000 , MIN_LABEL = 0x00040000 , MAX_LABEL = 0x00080000 , AVG_LABEL = 0x00100000 , SSB_IDX_LABEL = 0x00200000 , NON_GO_B_BFMODE_IDX_LABEL = 0x00400000 , MIMO_MODE_IDX_LABEL = 0x00800000 , ALL_VALUE_TYPE_LABELS = 0x001c1000 , ALL_SUBCOUNTER_LABELS = 0x00e3effe , ALL_LABELS = 0x00ffffff , UNKNOWN_LABEL = 0x10000000 } |
| enum | e2sm_kpm_collection_method_t { CC = 1 , GAUGE = 2 , DER = 3 , SI = 4 , OM = 5 } |
| enum | e2sm_kpm_measurement_object_t { E2_Node = 0x0001 , GNBCUUP = 0x0002 , NRCellCU = 0x0004 , NRCellDU = 0x0008 , NRCellRelation = 0x0010 , EutranRelation = 0x0020 , BEAM = 0x0040 , EP_F1U = 0x0080 , EP_XnU = 0x0100 , EP_X2U = 0x0200 , ANY = 0xffff } |
| enum | e2sm_kpm_metric_dtype_t { INTEGER , REAL } |
| enum class | gtpu_extension_header_type : uint8_t { no_more_extension_headers = 0b00000000 , reserved_0 = 0b00000001 , reserved_1 = 0b00000010 , long_pdcp_pdu_number_0 = 0b00000011 , service_class_indicator = 0b00100000 , udp_port = 0b01000000 , ran_container = 0b10000001 , long_pdcp_pdu_number_1 = 0b10000010 , xw_ran_container = 0b10000011 , nr_ran_container = 0b10000100 , pdu_session_container = 0b10000101 , pdcp_pdu_number = 0b11000000 , reserved_2 = 0b11000001 , reserved_3 = 0b11000010 } |
| enum class | gtpu_comprehension : uint8_t { not_required_intermediate_node_forward = 0b00000000 , not_required_intermediate_node_discard = 0b00000001 , required_at_endpoint_not_intermediate_node = 0b00000010 , required_at_endpoint_and_intermediate_node = 0b00000011 } |
| enum class | gtpu_information_element_type : uint8_t { recovery = 14 , tunnel_endpoint_identifier_data_i = 16 , gsn_address = 133 , extension_header_type_list = 141 , private_extension = 255 } |
| enum class | ph_field_type_t { type1 , type2 , type3 } |
| Type of PH field reported by UE. More... | |
| enum class | pdcp_dc_field : unsigned { control = 0b00 , data = 0b01 } |
| enum class | pdcp_control_pdu_type : unsigned { status_report = 0b000 , interspersed_rohc_feedback = 0b001 , ehc_feedback = 0b010 } |
| enum class | fftw_plan_optimization : unsigned { fftw_estimate = FFTW_ESTIMATE , fftw_measure = FFTW_MEASURE , fftw_exhaustive = FFTW_EXHAUSTIVE } |
| FFTW optimization flags. More... | |
| enum class | resource_grid_dimensions : unsigned { subc = 0 , symbol = 1 , port = 2 , all = 3 } |
| Dimension, i.e. number of coordinates, of each indexing level of the resource grid. More... | |
| enum class | rx_buffer_status : uint8_t { successful = 0 , already_in_use , insufficient_cb } |
| enum class | alloc_outcome { success , skip_slot , skip_ue , invalid_params } |
| Outcome of a UE grant allocation, and action for the scheduler policy to follow afterwards. More... | |
| enum class | psup_pdu_type : uint8_t { dl_pdu_session_information = 0 , ul_pdu_session_information = 1 } |
| enum class | psup_ppi : uint8_t { min = 0 , max = MAX_NOF_PPI - 1 , invalid = MAX_NOF_PPI } |
| enum class | openmode { read_only , write_only , read_write } |
file_vector open modes. More... | |
Functions | |
| std::unique_ptr< fapi_adaptor::phy_fapi_adaptor > | build_phy_fapi_adaptor (unsigned sector_id, subcarrier_spacing scs, subcarrier_spacing scs_common, downlink_processor_pool &dl_processor_pool, resource_grid_pool &dl_rg_pool, uplink_request_processor &ul_request_processor, resource_grid_pool &ul_rg_pool, uplink_slot_pdu_repository &ul_pdu_repository, const downlink_pdu_validator &dl_pdu_validator, const uplink_pdu_validator &ul_pdu_validator, const fapi::prach_config &prach_cfg, const fapi::carrier_config &carrier_cfg, std::unique_ptr< fapi_adaptor::precoding_matrix_repository > pm_repo, std::unique_ptr< fapi_adaptor::uci_part2_correspondence_repository > part2_repo, std::vector< uint8_t > prach_ports) |
| std::unique_ptr< fapi_adaptor::mac_fapi_adaptor > | build_mac_fapi_adaptor (unsigned sector_id, subcarrier_spacing scs, fapi::slot_message_gateway &gateway, fapi::slot_last_message_notifier &last_msg_notifier, std::unique_ptr< fapi_adaptor::precoding_matrix_mapper > pm_mapper, std::unique_ptr< fapi_adaptor::uci_part2_correspondence_mapper > part2_mapper, unsigned cell_nof_prbs) |
| std::unique_ptr< upper_phy > | create_upper_phy (const upper_phy_params ¶ms, upper_phy_rg_gateway *rg_gateway, span< task_executor * > dl_executors, task_executor *ul_executor, upper_phy_rx_symbol_request_notifier *rx_symbol_request_notifier) |
| std::unique_ptr< du_high > | make_du_high (const srs_du::du_high_configuration &du_hi_cfg) |
| Create a DU-high instance, which comprises MAC, RLC and F1 layers. | |
| std::unique_ptr< radio_unit > | create_generic_ru (ru_generic_configuration &config) |
| Returns a generic Radio Unit using the given configuration. | |
| template<concurrent_queue_policy QueuePolicy, concurrent_queue_wait_policy WaitPolicy> | |
| general_task_worker_executor< QueuePolicy, WaitPolicy > | make_task_executor (general_task_worker< QueuePolicy, WaitPolicy > &w) |
| template<concurrent_queue_policy QueuePolicy, concurrent_queue_wait_policy WaitPolicy> | |
| std::unique_ptr< task_executor > | make_task_executor_ptr (general_task_worker< QueuePolicy, WaitPolicy > &w) |
| constexpr bool | is_scs_valid (subcarrier_spacing scs) |
| Check if SCS value is valid. | |
| constexpr bool | is_scs_valid (subcarrier_spacing scs, frequency_range fr) |
| Checks whether the provided SCS–FR pair is valid. | |
| constexpr unsigned | to_numerology_value (subcarrier_spacing scs) |
Convert SCS to numerology index ( ![]() | |
| constexpr unsigned | scs_to_khz (subcarrier_spacing scs) |
| Converts SCS into integer in kHz. | |
| constexpr subcarrier_spacing | to_subcarrier_spacing (unsigned numerology) |
Convert numerology index ( ![]() | |
| subcarrier_spacing | to_subcarrier_spacing (const std::string &str) |
| Convert a string to SCS. | |
| const char * | to_string (subcarrier_spacing scs) |
| Convert SCS to string. | |
| constexpr unsigned | get_nof_slots_per_subframe (subcarrier_spacing scs) |
| Calculates number of slots per subframe. | |
| template<typename... Args> | |
| bool | srsran_terminate (const char *fmt, Args &&... args) noexcept |
| Command to terminate application with an error message, ensuring first that the log is flushed. Attribute noinline is used to signal to the compiler that this path should rarely occur and therefore doesn't need to get optimized. | |
| template<typename... Args> | |
| void | report_error (const char *reason_fmt, Args &&... args) noexcept |
| Reports an error and closes the application gracefully. This function is intended to be used for error conditions that may be triggered by the user or through invalid configurations. | |
| template<typename... Args> | |
| void | report_fatal_error (const char *reason_fmt, Args &&... args) noexcept |
| Reports a fatal error and handles the application shutdown. This function is intended to be used for error conditions that aren't neither caught by the compiler nor possible to handle by the application at runtime. | |
| template<typename T > | |
| bool | operator== (span< T > lhs, span< T > rhs) |
| template<typename T > | |
| bool | operator!= (span< T > lhs, span< T > rhs) |
| constexpr unsigned | bs_channel_bandwidth_to_MHz (bs_channel_bandwidth_fr1 bw) |
| Converts the BS channel bandwidth label into the actual BW value in MHz. | |
| constexpr bs_channel_bandwidth_fr1 | MHz_to_bs_channel_bandwidth (unsigned bw) |
| Converts the actual BW value in MHz to the BS channel bandwidth label. | |
| constexpr unsigned | min_channel_bandwidth_to_MHz (min_channel_bandwidth bw) |
| Converts the Minimum Channel Bandwidth for FR1 into the actual BW value in MHz. | |
| const char * | to_string (frequency_range freq_range) |
| std::unique_ptr< uplink_processor_pool > | create_uplink_processor_pool (uplink_processor_pool_config config) |
| Creates and returns an uplink processor pool. | |
| std::shared_ptr< downlink_processor_factory > | create_downlink_processor_factory_sw (const downlink_processor_factory_sw_config &config) |
| Creates a full software based downlink processor factory. | |
| std::shared_ptr< downlink_processor_factory > | create_downlink_processor_factory_hw (const downlink_processor_factory_hw_config &config) |
| Creates a full hardware-accelerated based downlink processor factory. | |
| std::unique_ptr< downlink_processor_pool > | create_dl_processor_pool (downlink_processor_pool_config config) |
| Creates and returns a downlink processor pool. | |
| bool | is_valid_upper_phy_config (const upper_phy_config &config) |
| Returns true if the given upper PHY configuration is valid, otherwise false. | |
| std::unique_ptr< upper_phy_factory > | create_upper_phy_factory (std::shared_ptr< downlink_processor_factory > downlink_proc_factory, std::shared_ptr< resource_grid_factory > rg_factory) |
| Creates and returns an upper PHY factory. | |
| constexpr uint16_t | nr_band_to_uint (nr_band band) |
| constexpr nr_band | uint_to_nr_band (unsigned band) |
| std::unique_ptr< lower_phy > | create_lower_phy (lower_phy_configuration &config) |
| Creates a generic lower PHY. | |
| std::shared_ptr< lower_phy_factory > | create_lower_phy_factory_sw (std::shared_ptr< lower_phy_downlink_processor_factory > downlink_proc_factory, std::shared_ptr< lower_phy_uplink_processor_factory > uplink_proc_factory) |
| Creates a software based lower physical layer factory. | |
| std::shared_ptr< resource_grid_factory > | create_resource_grid_factory (std::shared_ptr< channel_precoder_factory > precoder_factory) |
| Creates and returns a resource grid factory that instantiates resource grids. | |
| std::unique_ptr< resource_grid_mapper > | create_resource_grid_mapper (unsigned nof_ports, unsigned nof_subc, resource_grid_writer &writer) |
| Creates a resource grid mapper with an ideal precoding. | |
| std::unique_ptr< resource_grid_pool > | create_generic_resource_grid_pool (std::vector< std::unique_ptr< resource_grid > > grids) |
| Creates a generic resource grid pool. | |
| std::unique_ptr< resource_grid_pool > | create_asynchronous_resource_grid_pool (unsigned expire_timeout_slots, task_executor &async_executor, std::vector< std::unique_ptr< resource_grid > > grids) |
| Creates an asynchronous resource grid pool. | |
| std::unique_ptr< prach_buffer > | create_prach_buffer_long (unsigned max_nof_antennas, unsigned max_nof_fd_occasions) |
| Creates a long PRACH sequence buffer. | |
| std::unique_ptr< prach_buffer > | create_prach_buffer_short (unsigned max_nof_antennas, unsigned max_nof_td_occasions, unsigned max_nof_fd_occasions) |
| Creates a short PRACH sequence buffer. | |
| std::unique_ptr< prach_buffer_pool > | create_prach_buffer_pool (std::vector< std::unique_ptr< prach_buffer > > &&elements) |
| Returns a pool for the given PRACH buffers. | |
| std::unique_ptr< srsran::interpolator > | create_interpolator () |
| Returns an interpolator. | |
| std::shared_ptr< pbch_encoder_factory > | create_pbch_encoder_factory_sw (std::shared_ptr< crc_calculator_factory > crc_factory, std::shared_ptr< pseudo_random_generator_factory > prg_factory, std::shared_ptr< polar_factory > polar_factory) |
| std::shared_ptr< pbch_modulator_factory > | create_pbch_modulator_factory_sw (std::shared_ptr< channel_modulation_factory >, std::shared_ptr< pseudo_random_generator_factory >) |
| std::shared_ptr< pdcch_modulator_factory > | create_pdcch_modulator_factory_sw (std::shared_ptr< channel_modulation_factory >, std::shared_ptr< pseudo_random_generator_factory >) |
| std::shared_ptr< pdcch_encoder_factory > | create_pdcch_encoder_factory_sw (std::shared_ptr< crc_calculator_factory > crc_factory, std::shared_ptr< polar_factory > encoder_factory) |
| std::shared_ptr< pdcch_processor_factory > | create_pdcch_processor_factory_sw (std::shared_ptr< pdcch_encoder_factory > encoder_factory, std::shared_ptr< pdcch_modulator_factory > modulator_factory, std::shared_ptr< dmrs_pdcch_processor_factory > dmrs_factory) |
| std::shared_ptr< pdcch_processor_factory > | create_pdcch_processor_pool_factory (std::shared_ptr< pdcch_processor_factory > processor_factory, unsigned nof_concurrent_threads) |
| std::shared_ptr< pdsch_encoder_factory > | create_pdsch_encoder_factory_sw (pdsch_encoder_factory_sw_configuration &config) |
| std::shared_ptr< pdsch_encoder_factory > | create_pdsch_encoder_factory_hw (const pdsch_encoder_factory_hw_configuration &config) |
| std::shared_ptr< pdsch_modulator_factory > | create_pdsch_modulator_factory_sw (std::shared_ptr< channel_modulation_factory >, std::shared_ptr< pseudo_random_generator_factory >) |
| std::shared_ptr< pdsch_processor_factory > | create_pdsch_processor_factory_sw (std::shared_ptr< pdsch_encoder_factory > encoder_factory, std::shared_ptr< pdsch_modulator_factory > modulator_factory, std::shared_ptr< dmrs_pdsch_processor_factory > dmrs_factory) |
| std::shared_ptr< pdsch_processor_factory > | create_pdsch_concurrent_processor_factory_sw (std::shared_ptr< crc_calculator_factory > crc_factory, std::shared_ptr< ldpc_encoder_factory > ldpc_enc_factory, std::shared_ptr< ldpc_rate_matcher_factory > ldpc_rm_factory, std::shared_ptr< pseudo_random_generator_factory > prg_factory, std::shared_ptr< channel_modulation_factory > modulator_factory, std::shared_ptr< dmrs_pdsch_processor_factory > dmrs_factory, task_executor &executor, unsigned nof_concurrent_threads) |
| std::shared_ptr< pdsch_processor_factory > | create_pdsch_lite_processor_factory_sw (std::shared_ptr< ldpc_segmenter_tx_factory > segmenter_factory, std::shared_ptr< ldpc_encoder_factory > encoder_factory, std::shared_ptr< ldpc_rate_matcher_factory > rate_matcher_factory, std::shared_ptr< pseudo_random_generator_factory > scrambler_factory, std::shared_ptr< channel_modulation_factory > modulator_factory, std::shared_ptr< dmrs_pdsch_processor_factory > dmrs_factory) |
| std::shared_ptr< pdsch_processor_factory > | create_pdsch_processor_pool (std::shared_ptr< pdsch_processor_factory >, unsigned max_nof_processors) |
| std::shared_ptr< prach_detector_factory > | create_prach_detector_factory_sw (std::shared_ptr< dft_processor_factory > dft_factory, std::shared_ptr< prach_generator_factory > prach_gen_factory, const prach_detector_factory_sw_configuration &config={}) |
| std::shared_ptr< prach_detector_factory > | create_prach_detector_pool_factory (std::shared_ptr< prach_detector_factory > factory, unsigned nof_concurrent_threads) |
| std::shared_ptr< prach_generator_factory > | create_prach_generator_factory_sw () |
| std::shared_ptr< pucch_demodulator_factory > | create_pucch_demodulator_factory_sw (std::shared_ptr< channel_equalizer_factory > equalizer_factory, std::shared_ptr< channel_modulation_factory > demodulation_factory, std::shared_ptr< pseudo_random_generator_factory > prg_factory) |
| std::shared_ptr< pucch_detector_factory > | create_pucch_detector_factory_sw (std::shared_ptr< low_papr_sequence_collection_factory > lpcf, std::shared_ptr< pseudo_random_generator_factory > prgf, std::shared_ptr< channel_equalizer_factory > eqzrf) |
| std::shared_ptr< pucch_processor_factory > | create_pucch_processor_factory_sw (std::shared_ptr< dmrs_pucch_estimator_factory > dmrs_factory, std::shared_ptr< pucch_detector_factory > detector_factory, std::shared_ptr< pucch_demodulator_factory > demodulator_factory, std::shared_ptr< uci_decoder_factory > decoder_factory, const channel_estimate::channel_estimate_dimensions &channel_estimate_dimensions) |
| std::shared_ptr< pucch_processor_factory > | create_pucch_processor_pool_factory (std::shared_ptr< pucch_processor_factory > factory, unsigned nof_concurrent_threads) |
| std::shared_ptr< ssb_processor_factory > | create_ssb_processor_factory_sw (ssb_processor_factory_sw_configuration &config) |
| std::shared_ptr< ssb_processor_factory > | create_ssb_processor_pool_factory (std::shared_ptr< ssb_processor_factory > processor_factory, unsigned nof_concurrent_threads) |
| precoding_weight_matrix | make_single_port () |
| Constructs a precoder configuration for a single transmitter port. | |
| precoding_weight_matrix | make_one_layer_one_port (unsigned nof_ports, unsigned i_port) |
| Constructs a precoding weight matrix for one layer mapped into one transmit port. | |
| precoding_weight_matrix | make_identity (unsigned nof_streams) |
| Constructs a precoding weight matrix for the one layer–one port mapping. | |
| precoding_weight_matrix | make_one_layer_all_ports (unsigned nof_ports) |
| Constructs a precoding weight matrix for one layer mapped into all transmit ports. | |
| precoding_weight_matrix | make_one_layer_two_ports (unsigned i_codebook) |
| Constructs a precoding weight matrix for one layer mapped into two transmit ports. | |
| precoding_weight_matrix | make_two_layer_two_ports (unsigned i_codebook) |
| Constructs a precoding weight matrix for two layers mapped into two transmit ports. | |
| precoding_weight_matrix | make_one_layer_four_ports_type1_sp_mode1 (unsigned beam_azimuth_id, unsigned pol_shift_id) |
| Constructs a precoding weight matrix for one layer mapped into four transmit ports. | |
| precoding_weight_matrix | make_two_layer_four_ports_type1_sp_mode1 (unsigned beam_azimuth_id, unsigned beam_offset_id, unsigned pol_shift_id) |
| Constructs a precoding weight matrix for two layers mapped into four transmit ports. | |
| precoding_weight_matrix | make_three_layer_four_ports_type1_sp (unsigned beam_azimuth_id, unsigned pol_shift_id) |
| Constructs a precoding weight matrix for three layers mapped into four transmit ports. | |
| precoding_weight_matrix | make_four_layer_four_ports_type1_sp (unsigned beam_azimuth_id, unsigned pol_shift_id) |
| Constructs a precoding weight matrix for three layers mapped into four transmit ports. | |
| std::unique_ptr< radio_factory > | create_dynamic_radio_factory () |
| Dynamic library radio factory creation entry point. | |
| std::unique_ptr< radio_factory > | create_radio_factory (std::string driver_name) |
| Creates a radio factory by selecting an existent factory or loading the appropriate dynamic library. | |
| void | print_available_radio_factories () |
Helper function to print all statically linked available radio factories to stdout. | |
| constexpr enqueue_priority | operator- (enqueue_priority lhs, size_t dec) |
Reduce priority by dec amount. | |
| template<concurrent_queue_policy... QueuePolicies> | |
| constexpr concurrent_queue_policy | get_priority_queue_policy (enqueue_priority Priority) |
| Gets the queue policy for a given priority. | |
| size_t | compute_host_nof_hardware_threads () |
| Computes the number of threads that are usable in the given host. | |
| size_t | get_host_max_cpu_id () |
| Get maximum CPU ID available to the application. | |
| const char * | this_thread_name () |
| Get caller thread name. | |
| void | print_this_thread_priority () |
| Print caller thread priority. | |
| constexpr unsigned | divide_ceil (unsigned num, unsigned den) |
| Performs an integer division rounding up. | |
| constexpr unsigned | divide_round (unsigned num, unsigned den) |
| Performs an integer division rounding to the nearest integer. | |
| constexpr unsigned | pow2 (unsigned power) |
| Calculates the integer power of 2. | |
| constexpr float | abs_sq (cf_t x) |
| Calculates the squared modulus of a complex value. | |
| template<typename Integer > | |
| constexpr Integer | log2_ceil (Integer value) |
Calculates ![]() | |
| float | convert_dB_to_amplitude (float value) |
| Converts a value in decibels to linear amplitude ratio. | |
| float | convert_dB_to_power (float value) |
| Converts a value in decibels to linear power ratio. | |
| float | convert_amplitude_to_dB (float value) |
| Converts a linear amplitude ratio to decibels. | |
| float | convert_power_to_dB (float value) |
| Converts a linear power ratio to decibels. | |
| unsigned | prime_greater_than (unsigned n) |
Finds the smallest prime number greater than n. | |
| unsigned | prime_lower_than (unsigned n) |
Finds the biggest prime number less than n. | |
| template<typename Integer > | |
| Integer | reverse_byte (Integer byte) |
| Reverses the bits of a given byte. | |
| template<class T , class CompareLess > | |
| constexpr const T & | clamp (const T &value, const T &lower_bound, const T &upper_bound, CompareLess comp) |
| Ensures a value is between the given bounds, according to a specified order relation. | |
| template<class T > | |
| constexpr const T & | clamp (const T &value, const T &lower_bound, const T &upper_bound) |
| Ensures a value is between the given bounds, according to the default order relation. | |
| std::unique_ptr< dlt_pcap > | create_null_dlt_pcap () |
| Creates a layer DLT PCAP sink that writes the incoming PDUs to a pcap file. | |
| std::unique_ptr< dlt_pcap > | create_ngap_pcap (const std::string &filename, task_executor &backend_exec) |
| std::unique_ptr< dlt_pcap > | create_f1ap_pcap (const std::string &filename, task_executor &backend_exec) |
| std::unique_ptr< dlt_pcap > | create_e1ap_pcap (const std::string &filename, task_executor &backend_exec) |
| std::unique_ptr< dlt_pcap > | create_gtpu_pcap (const std::string &filename, task_executor &backend_exec) |
| std::unique_ptr< dlt_pcap > | create_e2ap_pcap (const std::string &filename, task_executor &backend_exec) |
| std::unique_ptr< sctp_network_gateway > | create_sctp_network_gateway (sctp_network_gateway_creation_message msg) |
| Creates an instance of an network gateway. | |
| size_t | byte_buffer_segment_pool_default_segment_size () |
| Default byte buffer segment size in the byte buffer pool. | |
| void | init_byte_buffer_segment_pool (std::size_t nof_segments, std::size_t memory_block_size=byte_buffer_segment_pool_default_segment_size()) |
| Sets the default size of the default byte_buffer segment pool. | |
| byte_buffer | make_byte_buffer (const std::string &hex_str) |
| Converts a hex string (e.g. 01FA02) to a byte buffer. | |
| template<typename ByteBufferType > | |
| size_t | copy_segments (const ByteBufferType &src, span< uint8_t > dst) |
| span< const uint8_t > | to_span (const byte_buffer &src, span< uint8_t > tmp_mem) |
| template<typename T > | |
| bool | operator== (const optional< T > &lhs, const optional< T > &rhs) noexcept |
| template<typename T > | |
| bool | operator== (const optional< T > &lhs, const T &rhs) noexcept |
| template<typename T > | |
| bool | operator== (const T &lhs, const optional< T > &rhs) noexcept |
| template<typename T > | |
| bool | operator!= (const optional< T > &lhs, const optional< T > &rhs) noexcept |
| template<typename T > | |
| bool | operator!= (const optional< T > &lhs, const T &rhs) noexcept |
| template<typename T > | |
| bool | operator!= (const T &lhs, const optional< T > &rhs) noexcept |
| template<typename T > | |
| bool | operator< (const optional< T > &lhs, const optional< T > &rhs) noexcept |
| std::unique_ptr< rlc_pcap > | create_rlc_pcap (const std::string &filename, task_executor &backend_exec, bool srb_pdus_enabled=true, bool drb_pdus_enabled=true) |
| Creates an RLC pcap writer to a file. | |
| std::unique_ptr< rlc_pcap > | create_null_rlc_pcap () |
| const char * | get_build_hash () |
| Returns a formatted string containing the current commit hash. | |
| const char * | get_build_info () |
| Returns a formatted string containing the current commit hash and branch name (if available). | |
| const char * | get_build_mode () |
| Returns the selected (CMake) build mode as string. | |
| constexpr const char * | to_string (cpu_feature feature) |
| bool | cpu_supports_feature (cpu_feature feature) |
| Query the CPU whether a CPU feature is supported in runtime. | |
| std::string | get_cpu_feature_info () |
| bool | cpu_supports_included_features () |
| void | open_trace_file (const std::string &trace_file_name="/tmp/srsran_trace.json") |
| Open a file to write trace events to. | |
| void | close_trace_file () |
| Close the trace file. This function is called automatically when the program exits. | |
| bool | is_trace_file_open () |
| Check if the trace file is open. | |
| const char * | get_version () |
| Returns the full version with major.minor.patch as string. | |
| std::unique_ptr< srs_cu_cp::cu_cp > | create_cu_cp (const srs_cu_cp::cu_cp_configuration &cfg_) |
| Creates an instance of an CU-CP. | |
| std::unique_ptr< srs_cu_up::cu_up_interface > | create_cu_up (const srs_cu_up::cu_up_configuration &cfg_) |
| Creates an instance of an CU-UP. | |
| std::unique_ptr< io_broker > | create_io_broker (io_broker_type type, io_broker_config config={}) |
| Creates an instance of an IO broker. | |
| void | enable_backtrace () |
| Enables the backtrace. | |
| std::unique_ptr< CLI::Config > | create_yaml_config_parser () |
| Creates an instance of a YAML configuration parser. | |
| void | configure_cli11_with_gnb_appconfig_schema (CLI::App &app, gnb_parsed_appconfig &gnb_parsed_cfg) |
| Configures the given CLI11 application with the gNB application configuration schema. | |
| void | derive_auto_params (gnb_appconfig &gnb_params) |
| This function takes the appconfig and generates the values for the parameters set to be auto-configured. | |
| srs_cu_cp::rrc_ssb_mtc | generate_rrc_ssb_mtc (unsigned period, unsigned offset, unsigned duration) |
| Converts and returns SSB periodicity, offset and duration into a valid SSB measurement and timing configuration. | |
| subcarrier_spacing | generate_subcarrier_spacing (unsigned sc_spacing) |
| Converts and returns the subcarrier spacing. | |
| srsran::sctp_network_gateway_config | generate_ngap_nw_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application configuration to a NGAP Network Gateway configuration. | |
| srs_cu_cp::cu_cp_configuration | generate_cu_cp_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application configuration to a CU-CP configuration. | |
| srs_cu_up::cu_up_configuration | generate_cu_up_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application configuration to a CU-UP configuration. | |
| std::vector< du_cell_config > | generate_du_cell_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application configuration to a DU cell configuration. | |
| std::map< five_qi_t, srs_cu_cp::cu_cp_qos_config > | generate_cu_cp_qos_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application QoS configuration to a CU-CP configuration. | |
| std::map< five_qi_t, srs_cu_up::cu_up_qos_config > | generate_cu_up_qos_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application QoS configuration to a CU-UP configuration. | |
| srsran::security::preferred_integrity_algorithms | generate_preferred_integrity_algorithms_list (const gnb_appconfig &config) |
| srsran::security::preferred_ciphering_algorithms | generate_preferred_ciphering_algorithms_list (const gnb_appconfig &config) |
| srsran::rlc_am_config | generate_rlc_am_config (const rlc_am_appconfig &in_cfg) |
| Converts and returns the given gnb RLC AM configuration to a RLC configuration. | |
| srsran::mac_lc_config | generate_mac_lc_config (const mac_lc_appconfig &in_cfg) |
| Converts and returns the given gnb MAC LC configuration to a MAC LC configuration. | |
| std::map< five_qi_t, du_qos_config > | generate_du_qos_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application QoS configuration to a DU QoS list configuration. | |
| std::map< srb_id_t, du_srb_config > | generate_du_srb_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application QoS configuration to a DU SRB list configuration. | |
| mac_expert_config | generate_mac_expert_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application configuration to a mac expert configuration. | |
| scheduler_expert_config | generate_scheduler_expert_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application configuration to a scheduler expert configuration. | |
| std::vector< upper_phy_config > | generate_du_low_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application configuration to an upper PHY configuration. | |
| ru_configuration | generate_ru_config (const gnb_appconfig &config, span< const du_cell_config > cells) |
| Converts and returns the given gnb application configuration to a Radio Unit configuration. | |
| srsran::sctp_network_gateway_config | generate_e2ap_nw_config (const gnb_appconfig &config, int ppid) |
| Converts and returns the given gnb application configuration to a E2AP Network Gateway configuration. | |
| e2ap_configuration | generate_e2_config (const gnb_appconfig &config) |
| Converts and returns the given gnb application configuration to a E2 configuration. | |
| void | ntn_augment_rlc_parameters (const ntn_config &ntn_cfg, std::map< srb_id_t, du_srb_config > &srb_cfgs) |
| Augments RLC parameters based on NTN configuration. | |
| bool | validate_appconfig (const gnb_appconfig &config) |
| Validates the given GNB application configuration. Returns true on success, false otherwise. | |
| std::vector< std::unique_ptr< du > > | make_gnb_dus (const gnb_appconfig &gnb_cfg, span< du_cell_config > du_cells, worker_manager &workers, upper_phy_rg_gateway &rg_gateway, upper_phy_rx_symbol_request_notifier &rx_symbol_request_notifier, srs_du::f1c_connection_client &f1c_client_handler, srs_du::f1u_du_gateway &f1u_gw, timer_manager &timer_mng, mac_pcap &mac_p, rlc_pcap &rlc_p, gnb_console_helper &console_helper, e2_connection_client &e2_client_handler, e2_metric_connector_manager &e2_metric_connectors, rlc_metrics_notifier &rlc_json_metrics, metrics_hub &metrics_hub) |
| Instanties a list of Distributed Unit (DU) given a gNB application configuration. | |
| template<typename Integer > | |
| slot_point | operator+ (slot_point slot, Integer jump) |
| Sum and subtraction operations between slot_point types. | |
| slot_point | operator+ (uint32_t jump, slot_point slot) |
| slot_point | operator+ (int jump, slot_point slot) |
| slot_point | operator- (slot_point slot, uint32_t jump) |
| slot_point | operator- (slot_point slot, int jump) |
| slot_point | max (slot_point lhs, slot_point rhs) |
| Get maximum of two slot points. | |
| slot_point | min (slot_point lhs, slot_point rhs) |
| Get minimum of two slot points. | |
| slot_point | set_slot_numerology (slot_point sl, unsigned new_numerology) |
| constexpr const char * | to_string (prach_format_type format) |
| prach_format_type | to_prach_format_type (const char *string) |
| constexpr bool | is_long_preamble (prach_format_type type) |
| Checks if the preamble format is long. | |
| constexpr bool | is_short_preamble (prach_format_type type) |
| Checks if the preamble format is short. | |
| unsigned | get_preamble_duration (prach_format_type format) |
| Gets the PRACH time-domain occasion duration in symbols relative to the RA subcarrier spacing. | |
| constexpr bool | is_scs_valid (prach_subcarrier_spacing scs) |
| Checks if SCS value is valid. | |
| constexpr bool | is_long_preamble (prach_subcarrier_spacing ra_scs) |
| Checks if the RA subcarrier spacing is suitable for long preambles formats. | |
| constexpr bool | is_short_preamble (prach_subcarrier_spacing ra_scs) |
| Checks if the RA subcarrier spacing is suitable for short preambles formats. | |
| const char * | to_string (prach_subcarrier_spacing ra_scs) |
| Converts SCS to string. | |
| constexpr unsigned | to_numerology_value (prach_subcarrier_spacing ra_scs) |
Converts SCS to numerology index ( ![]() | |
| constexpr unsigned | ra_scs_to_Hz (prach_subcarrier_spacing ra_scs) |
| Converts SCS to its integer value in hertz. | |
| constexpr prach_subcarrier_spacing | to_ra_subcarrier_spacing (subcarrier_spacing scs) |
| Adapts common resource grid subcarrier spacing to RA subcarrier spacing. | |
| prach_subcarrier_spacing | to_ra_subcarrier_spacing (unsigned in_scs_Hz) |
| Converts a numerical value (a bandwidth in hertz) to an SCS. | |
| prach_subcarrier_spacing | to_ra_subcarrier_spacing (const char *str) |
| Converts a numeric string (representing a bandwidth in kilohertz) to an SCS. | |
| const char * | to_string (restricted_set_config config) |
| std::unique_ptr< radio_unit > | create_dummy_ru (const ru_dummy_configuration &config, ru_dummy_dependencies &dependencies) |
| Returns a generic Radio Unit using the given configuration. | |
| std::unique_ptr< radio_unit > | create_ofh_ru (const ru_ofh_configuration &config, ru_ofh_dependencies &&dependencies) |
| Returns an Open FrontHaul Radio Unit using the given configuration and dependencies. | |
| bool | check_cpu_governor (srslog::basic_logger &logger) |
| Check whether the CPU scaling governor is set to performance. | |
| bool | check_drm_kms_polling (srslog::basic_logger &logger) |
| Check whether the DRM KMS polling is set. | |
| bool | configure_cgroups (const srsran::os_sched_affinity_bitmask &isol_cpus) |
| Configures cgroups. | |
| void | cleanup_cgroups () |
| Removes cgroups created by the gNB app. | |
| gnb_sched_affinity_mask_policy | to_affinity_mask_policy (const std::string &value) |
| Converts the given sting into an affinity mask policy or returns last if it could not convert it. | |
| unsigned | to_unsigned (gnb_sched_affinity_mask_types value) |
| Converts and returns the given affinity mask type to an integer. | |
| gnb_sched_affinity_mask_types | to_affinity_mask_type (unsigned value) |
| Converts and returns the given value to an affinity mask type. | |
| template<typename T , typename... Types> | |
| constexpr const T & | variant_get (const variant< Types... > &v) |
| Reads the value of the variant given the index or the type (if the type is unique). | |
| template<typename T , typename... Types> | |
| constexpr T & | variant_get (variant< Types... > &v) |
| Reads the value of the variant given the index or the type (if the type is unique). | |
| template<typename T , typename... Types> | |
| constexpr bool | variant_holds_alternative (const variant< Types... > &v) noexcept |
| Checks if the variant v holds the alternative T. | |
| template<size_t Idx, typename... Types> | |
| constexpr const auto & | variant_get (const variant< Types... > &v) |
| Reads the value of the variant given the index. | |
| template<typename Visitor , typename... Vs> | |
| constexpr auto | variant_visit (Visitor &&visitor, Vs &&... vs) |
| Apply a visitor to the variant. | |
| unsigned | ssb_periodicity_to_value (ssb_periodicity periodicity) |
| Converts the SSB periodicity property to its corresponding value in milliseconds. | |
| subcarrier_spacing | to_subcarrier_spacing (ssb_pattern_case pattern_case) |
| Returns the subcarrier spacing corresponding to an SS/PBCH block pattern. | |
| const char * | to_string (ssb_pattern_case pattern_case) |
| Returns the subcarrier spacing corresponding to an SS/PBCH block pattern. | |
| frequency_range | to_frequency_range (ssb_pattern_case pattern_case) |
| Returns the frequency range corresponding to an SS/PBCH block pattern. | |
| unsigned | to_symbol_index (dmrs_typeA_position pos) |
| dmrs_additional_positions | uint_to_dmrs_additional_positions (uint8_t dmrs_add_pos) |
| constexpr uint16_t | five_qi_to_uint (five_qi_t five_qi) |
| Convert Five QI type to integer. | |
| constexpr five_qi_t | uint_to_five_qi (uint16_t five_qi) |
| Convert integer to Five QI type. | |
| constexpr lcid_t | uint_to_lcid (std::underlying_type_t< lcid_t > val) |
| constexpr uint16_t | srb_id_to_uint (srb_id_t id) |
| bool | is_srb (lcid_t lcid) |
| bool | is_lcid_valid (lcid_t lcid) |
| srb_id_t | to_srb_id (lcid_t lcid) |
| srb_id_t | int_to_srb_id (std::underlying_type_t< srb_id_t > val) |
| lcid_t | srb_id_to_lcid (srb_id_t srb_id) |
| Convert SRB ID to LCID. | |
| const char * | srb_id_to_string (srb_id_t srb_id) |
| constexpr uint8_t | drb_id_to_uint (drb_id_t id) |
| constexpr drb_id_t | uint_to_drb_id (uint8_t id) |
| search_space_id | to_search_space_id (unsigned ss_id) |
| bool | is_common_search_space (search_space_set_type ss_set) |
| Checks whether the SearchSpace set is common or dedicated. | |
| sch_mcs_description | pdsch_mcs_get_config (pdsch_mcs_table table, sch_mcs_index index) |
| Gets the Modulation and Coding Scheme configuration for PDSCH. | |
| float | to_max_code_rate_float (max_pucch_code_rate opt) |
| sch_mcs_description | pusch_mcs_get_config (pusch_mcs_table table, sch_mcs_index index, bool tp_pi2bpsk_present) |
| Gets the Modulation and Coding Scheme configuration for PUSCH. | |
| constexpr bool | is_crnti (rnti_t rnti) |
| Checks whether RNTI value corresponds to a C-RNTI value. | |
| constexpr rnti_t | to_rnti (std::underlying_type_t< rnti_t > number) |
| Converts integer to RNTI value. | |
| constexpr uint16_t | to_value (rnti_t rnti) |
| Converts RNTI value to integer. | |
| sib_type | get_sib_info_type (const sib_info &sib) |
| template<typename Integer > | |
| constexpr Integer | mask_msb_zeros (size_t N) |
| Returns an unsigned integer with the N most significant bits (MSB) set to zero, and the remaining bits set to 1. | |
| template<typename Integer > | |
| constexpr Integer | mask_lsb_ones (size_t N) |
| Returns an unsigned integer with the N least significant bits (LSB) set to zero, and the remaining bits set to 1. | |
| template<typename Integer > | |
| constexpr Integer | mask_msb_ones (size_t N) |
| Returns an unsigned integer with the N most significant bits (MSB) set to one, and the remaining bits set to zero. | |
| template<typename Integer > | |
| Integer | mask_lsb_zeros (size_t N) |
| Returns an unsigned integer with the N least significant bits (LSB) set to one, and the remaining bits set to zero. | |
| uint64_t | bit_reverse (uint64_t n) |
| Knuth's 64-bit reverse. E.g. 0x0000000000000001 -> 0x8000000000000000. For more information see: https://matthewarcus.wordpress.com/2012/11/18/reversing-a-64-bit-word/. | |
| template<typename Integer > | |
| Integer | zero_msb_count (Integer value) |
| Counts the number of contiguous bits set to zero, starting from the MSB. | |
| template<typename Integer > | |
| Integer | find_first_msb_one (Integer value) |
| Finds the position of the first bit set to one, starting from the MSB. | |
| template<typename Integer > | |
| Integer | find_first_lsb_one (Integer value) |
| Finds the position of the first bit set to one, starting from the LSB. | |
| template<typename Integer > | |
| int | count_ones (Integer value) |
| Counts the number of bits set to one in an integer. | |
| template<size_t N, bool LowestInfoBitIsMSB> | |
| bounded_bitset< N, LowestInfoBitIsMSB > | operator& (const bounded_bitset< N, LowestInfoBitIsMSB > &lhs, const bounded_bitset< N, LowestInfoBitIsMSB > &rhs) noexcept |
| Bitwise AND operation result = lhs & rhs. | |
| template<size_t N, bool LowestInfoBitIsMSB> | |
| bounded_bitset< N, LowestInfoBitIsMSB > | operator| (const bounded_bitset< N, LowestInfoBitIsMSB > &lhs, const bounded_bitset< N, LowestInfoBitIsMSB > &rhs) noexcept |
| Bitwise AND operation result = lhs | rhs. | |
| template<size_t N, bool LowestInfoBitIsMSB> | |
| bounded_bitset< N, LowestInfoBitIsMSB > | fliplr (const bounded_bitset< N, LowestInfoBitIsMSB > &other) noexcept |
| Flip bits from left to right. | |
| template<size_t N2, size_t N, bool LowestInfoBitIsMSB> | |
| bounded_bitset< N2, LowestInfoBitIsMSB > | fold_and_accumulate (const bounded_bitset< N, LowestInfoBitIsMSB > &other, size_t fold_length, size_t slice_offset, size_t slice_length) noexcept |
| Divides a bitset of size "S" into "M" smaller bitsets, where each bitset has length "L=S/M". A bitwise-or operation is performed across bitsets. At the end, a slice with an offset "O" and length "K" is taken from the bitset of length "L" that resulted from the bitwise-or operation. This operation is equivalent to reshaping an array of bits of size "S" into a matrix of dimensions "(M, L)" and applying an "or" operation across all bits of each column. The resulting array of "L" bits, is then sliced with an offset "O" and length "K". The operation asserts if "S % L != 0". E.g. Consider the bitset 1000 0100 0000 1001 (S=16), L=4, O=1, K=2. This function performs the following steps: | |
| template<size_t N2, size_t N, bool LowestInfoBitIsMSB> | |
| bounded_bitset< N2, LowestInfoBitIsMSB > | fold_and_accumulate (const bounded_bitset< N, LowestInfoBitIsMSB > &other, size_t fold_length) noexcept |
| Performs the fold and accumulate operation, but without slicing at the end. | |
| constexpr du_ue_index_t | to_du_ue_index (std::underlying_type_t< du_ue_index_t > idx) |
| Convert integer to DU UE index type. | |
| constexpr bool | is_du_ue_index_valid (du_ue_index_t ue_idx) |
| du_cell_index_t | to_du_cell_index (std::underlying_type_t< du_cell_index_t > idx) |
| Convert integer to DU cell index type. | |
| ue_cell_index_t | to_ue_cell_index (std::underlying_type_t< ue_cell_index_t > idx) |
| const char * | to_string (duplex_mode mode) |
| template<typename T > | |
| bool | lexical_cast (const std::string &in, srsran::optional< T > &output) |
| Parse string into optional type. | |
| template<typename Param > | |
| void | add_auto_enum_option (CLI::App &app, const std::string &option_name, optional< Param > ¶m, const std::string &desc) |
| Parsing an integer with additional option "auto" into an optional of an enum type. | |
| unsigned | format1_cp_step_to_uint (nof_cyclic_shifts opt) |
| std::shared_ptr< channel_precoder_factory > | create_channel_precoder_factory (const std::string &precoder_type) |
| Creates and returns a channel precoder factory. | |
| ci8_t | to_ci8 (cf_t value) |
| ci16_t | to_ci16 (cf_t value) |
| cf_t | to_cf (ci8_t value) |
| cf_t | to_cf (cf_t value) |
| cf_t | to_cf (ci16_t value) |
| std::shared_ptr< crc_calculator_factory > | create_crc_calculator_factory_sw (const std::string &type) |
| std::shared_ptr< ldpc_decoder_factory > | create_ldpc_decoder_factory_sw (const std::string &dec_type) |
| std::shared_ptr< ldpc_encoder_factory > | create_ldpc_encoder_factory_sw (const std::string &enc_type) |
| std::shared_ptr< ldpc_rate_dematcher_factory > | create_ldpc_rate_dematcher_factory_sw (const std::string &dematcher_type) |
| std::shared_ptr< ldpc_rate_matcher_factory > | create_ldpc_rate_matcher_factory_sw () |
| std::shared_ptr< ldpc_segmenter_rx_factory > | create_ldpc_segmenter_rx_factory_sw () |
| std::shared_ptr< ldpc_segmenter_tx_factory > | create_ldpc_segmenter_tx_factory_sw (std::shared_ptr< crc_calculator_factory > crc_factory) |
| std::shared_ptr< polar_factory > | create_polar_factory_sw () |
| std::shared_ptr< short_block_detector_factory > | create_short_block_detector_factory_sw () |
| std::shared_ptr< dft_processor_factory > | create_dft_processor_factory_generic () |
| Creates a DFT processor factory based on a generic Radix-2 DFT implementation. | |
| std::shared_ptr< dft_processor_factory > | create_dft_processor_factory_fftw (const std::string &optimization_flag, double plan_creation_timeout_s, bool avoid_wisdom=false, const std::string &wisdom_filename="") |
| Creates a DFT processor factory based on FFTW library. | |
| std::shared_ptr< dft_processor_factory > | create_dft_processor_factory_fftw_slow (bool avoid_wisdom=false, const std::string &wisdom_filename="") |
| Creates a sub-optimal DFT processor factory based on FFTW library. | |
| std::shared_ptr< dft_processor_factory > | create_dft_processor_factory_fftw_fast (bool avoid_wisdom=false, const std::string &wisdom_filename="") |
| Creates an optimal DFT processor factory based on FFTW library. | |
| std::shared_ptr< channel_modulation_factory > | create_channel_modulation_sw_factory () |
| template<typename T > | |
| bool | operator== (const interval< T > &lhs, const interval< T > &rhs) |
| template<typename T > | |
| bool | operator!= (const interval< T > &lhs, const interval< T > &rhs) |
| template<typename T > | |
| bool | operator< (const interval< T > &lhs, const interval< T > &rhs) |
| template<typename T > | |
| interval< T > | operator| (const interval< T > &lhs, const interval< T > &rhs) |
| Make union of intervals. If intervals do not overlap, the empty interval is returned. | |
| template<typename T > | |
| interval< T > | operator& (const interval< T > &lhs, const interval< T > &rhs) |
| Make intersection of intervals. | |
| unsigned | ssb_get_l_first (ssb_pattern_case pattern_case, unsigned ssb_idx) |
| Calculates the first OFDM symbol in a 5ms SS/PBCH block burst. | |
| unsigned | ssb_get_k_first (frequency_range fr, subcarrier_spacing ssb_scs, subcarrier_spacing common_scs, ssb_offset_to_pointA offset_to_pointA, ssb_subcarrier_offset subcarrier_offset) |
| Calculates the position of the first SS/PBCH block subcarrier relative to Point A. | |
| ssb_pattern_case | ssb_get_ssb_pattern (subcarrier_spacing ssb_scs, unsigned dl_arfcn) |
| Calculates SSB pattern from SSB subcarrier spacing and DL ARFCN. | |
| uint8_t | ssb_get_L_max (subcarrier_spacing ssb_scs, unsigned dl_arfcn, optional< nr_band > band={}) |
| Calculates L_max, ie max number of SSB occasions per SSB period. Possible values are {4, 8, 64}. | |
| crb_interval | get_ssb_crbs (subcarrier_spacing ssb_scs, subcarrier_spacing scs_common, ssb_offset_to_pointA offset_to_pA, ssb_subcarrier_offset k_ssb) |
| Calculate the CRBs (with reference to SCS common grid) where the SSB is allocated. | |
| std::shared_ptr< uci_decoder_factory > | create_uci_decoder_factory_generic (std::shared_ptr< short_block_detector_factory > decoder_factory, std::shared_ptr< polar_factory > polar_factory, std::shared_ptr< crc_calculator_factory > crc_calc_factory) |
| std::shared_ptr< channel_equalizer_factory > | create_channel_equalizer_factory_zf () |
| Creates a Zero Forcing channel equalizer factory. | |
| std::shared_ptr< dmrs_pbch_processor_factory > | create_dmrs_pbch_processor_factory_sw (std::shared_ptr< pseudo_random_generator_factory > prg_factory) |
| std::shared_ptr< dmrs_pdcch_processor_factory > | create_dmrs_pdcch_processor_factory_sw (std::shared_ptr< pseudo_random_generator_factory > prg_factory) |
| std::shared_ptr< dmrs_pdsch_processor_factory > | create_dmrs_pdsch_processor_factory_sw (std::shared_ptr< pseudo_random_generator_factory > prg_factory) |
| std::shared_ptr< dmrs_pucch_estimator_factory > | create_dmrs_pucch_estimator_factory_sw (std::shared_ptr< pseudo_random_generator_factory > prg_factory, std::shared_ptr< low_papr_sequence_collection_factory > lpc_factory, std::shared_ptr< port_channel_estimator_factory > ch_estimator_factory) |
| std::shared_ptr< dmrs_pusch_estimator_factory > | create_dmrs_pusch_estimator_factory_sw (std::shared_ptr< pseudo_random_generator_factory > prg_factory, std::shared_ptr< port_channel_estimator_factory > ch_estimator_factory) |
| std::shared_ptr< nzp_csi_rs_generator_factory > | create_nzp_csi_rs_generator_factory_sw (std::shared_ptr< pseudo_random_generator_factory > prg_factory) |
| std::shared_ptr< nzp_csi_rs_generator_factory > | create_nzp_csi_rs_generator_pool_factory (std::shared_ptr< nzp_csi_rs_generator_factory > generator_factory, unsigned nof_concurrent_threads) |
| std::shared_ptr< port_channel_estimator_factory > | create_port_channel_estimator_factory_sw (std::shared_ptr< dft_processor_factory > dft_f) |
| std::shared_ptr< pss_processor_factory > | create_pss_processor_factory_sw () |
| std::shared_ptr< sss_processor_factory > | create_sss_processor_factory_sw () |
| std::unique_ptr< rx_buffer_pool_controller > | create_rx_buffer_pool (const rx_buffer_pool_config &config) |
| Creates a receive buffer pool. | |
| constexpr std::size_t | get_rb_bw_khz (subcarrier_spacing scs) |
| Compute RB bandwidth in kHz, based on the used numerology. | |
| constexpr std::size_t | channel_bw_mhz_to_index_fr1 (unsigned dl_bw_mhz) |
| Converts channel bandwidth in MHz to index. | |
| constexpr std::size_t | channel_bw_mhz_to_index_fr2 (unsigned dl_bw_mhz) |
| Converts channel bandwidth in MHz to index. | |
| std::size_t | get_max_Nprb (unsigned dl_bw_mhz, subcarrier_spacing scs, frequency_range fr) |
| constexpr coreset_id | to_coreset_id (unsigned cs_id) |
| scheduling_request_id | uint_to_sched_req_id (unsigned sr_id) |
| Convert unsigned to scheduling_request_id. | |
| unsigned | sr_periodicity_to_slot (sr_periodicity period) |
| Convert unsigned to scheduling_request_id. | |
| sr_prohib_timer | to_sr_prohib_timer (unsigned sr_prohibit_timer) |
| Return the enum value of sr-ProhibitTimer corresponding to the given unsigned value. | |
| sr_max_tx | to_sr_max_tx (unsigned max_tx) |
| Return the enum value of sr-TransMax corresponding to the given unsigned value. | |
| mac_cell_creation_request | make_mac_cell_config (du_cell_index_t cell_index, const du_cell_config &du_cfg, std::vector< byte_buffer > bcch_dl_sch_payloads, const sched_cell_configuration_request_message &sched_cell_cfg) |
| Derives MAC Cell Configuration from DU Cell Configuration. | |
| mac_lc_config | make_default_srb_mac_lc_config (lcid_t lcid) |
| Generates default SRB MAC Logical Channel configuration for SRBs other than SRB0. | |
| mac_lc_config | make_default_drb_mac_lc_config () |
| Generates default DRB MAC Logical Channel configuration for DRBs. | |
| pdcch_type0_css_coreset_description | pdcch_type0_css_coreset_get (nr_band band, subcarrier_spacing ssb_scs, subcarrier_spacing pdcch_scs, uint8_t coreset_zero_index, uint8_t subcarrier_offset) |
| Get the CORESET configuration for Type0-PDCCH CSS. | |
| unsigned | nof_slots_per_tdd_period (const tdd_ul_dl_config_common &cfg) |
| Calculates number of slots, using TDD reference SCS, of the TDD UL-DL configuration. | |
| bool | has_active_tdd_dl_symbols (const tdd_ul_dl_config_common &cfg, unsigned slot_index) |
| Calculates whether there are symbols for DL in the current slot index. | |
| bool | has_active_tdd_ul_symbols (const tdd_ul_dl_config_common &cfg, unsigned slot_index) |
| Calculates whether there are symbols for UL in the current slot index. | |
| bool | is_tdd_full_dl_slot (const tdd_ul_dl_config_common &cfg, unsigned slot_index) |
| Checks if all symbols in the current slot index are active for DL. | |
| bool | is_tdd_full_ul_slot (const tdd_ul_dl_config_common &cfg, unsigned slot_index) |
| Checks if all symbols in the current slot index are active for UL. | |
| ofdm_symbol_range | get_active_tdd_dl_symbols (const tdd_ul_dl_config_common &cfg, unsigned slot_index, cyclic_prefix cp) |
| Calculates the number of active DL symbols in the current slot_index. | |
| ofdm_symbol_range | get_active_tdd_ul_symbols (const tdd_ul_dl_config_common &cfg, unsigned slot_index, cyclic_prefix cp) |
| Calculates the number of active UL symbols in the current slot_index. | |
| optional< unsigned > | find_next_tdd_ul_slot (const tdd_ul_dl_config_common &cfg, unsigned start_slot_index=0) |
| Finds the next TDD slot index with UL symbols, starting from the given slot index. | |
| optional< unsigned > | find_next_tdd_full_ul_slot (const tdd_ul_dl_config_common &cfg, unsigned start_slot_index=0) |
| Finds the next TDD slot index with all UL symbols, starting from the given slot index. | |
| validator_result | is_du_cell_config_valid (const du_cell_config &cell_cfg) |
| Checks whether the provided DU cell configuration is valid. | |
| prach_configuration | prach_configuration_get (frequency_range fr, duplex_mode dm, uint8_t prach_config_index) |
| Gets a PRACH configuration. | |
| rlc_config | make_default_srb0_rlc_config () |
| SRB0 default configuration (only implementation-specific parameters) | |
| rlc_config | make_default_srb_rlc_config () |
| SRB1, SRB2 and SRB3 default configuration as per TS 38.331, 9.2.1. | |
| error_type< std::string > | is_scheduler_expert_config_valid (const scheduler_expert_config &config) |
| Checks whether the provided scheduler expert configuration is valid. | |
| unsigned | crb_to_prb (crb_interval bwp_crb_lims, unsigned crb) |
| Convert CRB into PRB given the CRB assignment limits. The CRB and PRB are assumed to use the same numerology as reference. | |
| prb_interval | crb_to_prb (crb_interval bwp_crb_lims, crb_interval crbs) |
| Convert an interval of CRBs to an interval of PRBs, given the BWP CRB limits. | |
| unsigned | prb_to_crb (crb_interval bwp_crb_lims, unsigned prb) |
| Convert a PRB into CRB given the BWP CRB limits. The CRB and PRB are assumed to use the same numerology as reference. | |
| crb_interval | prb_to_crb (crb_interval bwp_crb_lims, prb_interval prbs) |
| Convert an interval of PRBs to an interval of CRBs, given the BWP CRB limits. | |
| vrb_interval | crb_to_vrb_f1_0_common_ss_non_interleaved (crb_interval crbs, unsigned coreset_crb_start) |
| Conversion of CRBs to VRBs for a common search space and DCI format 1_0 as per TS38.211, clause 7.3.1.6. | |
| std::string | to_string (modulation_scheme mod) |
| modulation_scheme | modulation_scheme_from_string (const std::string &mod_scheme_string) |
| Converts a string into a modulation scheme. | |
| constexpr unsigned | get_bits_per_symbol (modulation_scheme mod) |
| Bits per symbol for a given modulation scheme. | |
| bool | pdcp_sn_size_from_uint (pdcp_sn_size &sn_size, uint16_t num) |
| constexpr uint8_t | pdcp_sn_size_to_uint (pdcp_sn_size sn_size) |
| Convert PDCP SN size from enum to unsigned integer. | |
| constexpr uint32_t | pcdp_sn_cardinality (uint16_t sn_size) |
| Returns the value range of the sequence numbers. | |
| constexpr uint32_t | pdcp_window_size (uint16_t sn_size) |
| Returns the PDCP window size. | |
| bool | pdcp_discard_timer_from_int (pdcp_discard_timer &discard_timer, int num) |
| constexpr int16_t | pdcp_discard_timer_to_int (pdcp_discard_timer discard_timer) |
| Convert PDCP NR discard timer from enum to integer. | |
| pdcp_config | pdcp_make_default_srb_config () |
| Make default SRB parameters for PDCP Ref: 3GPP TS 38.331, section 9.2.1. | |
| bool | validate_prach_detector_phy (prach_format_type format, prach_subcarrier_spacing scs, unsigned zero_correlation_zone, unsigned nof_rx_ports) |
| Ensures the PRACH configuration is supported by the detector. | |
| template<typename U = double> | |
| constexpr U | to_sampling_rate_Hz (subcarrier_spacing scs, unsigned dft_size) |
| Gets the sampling rate from a subcarrier spacing and a DFT size combination. | |
| constexpr unsigned | get_nsymb_per_slot (const cyclic_prefix cp) |
| Defines the number of OFDM symbols per slot, according to TS 38.211 Tables 4.3.2-1 and 4.3.2-2. | |
| prach_preamble_information | get_prach_preamble_long_info (prach_format_type format) |
| Get long PRACH preamble information as per TS38.211 Table 6.3.3.1-1. | |
| prach_preamble_information | get_prach_preamble_short_info (prach_format_type format, prach_subcarrier_spacing ra_scs, bool last_occasion) |
| Get short PRACH preamble information as per TS38.211 Table 6.3.3.1-2. | |
| phy_time_unit | get_prach_window_duration (prach_format_type format, subcarrier_spacing pusch_scs, unsigned start_symbol_index, unsigned nof_td_occasions) |
| Gets the PRACH window duration. | |
| prach_symbols_slots_duration | get_prach_duration_info (const prach_configuration &prach_cfg, subcarrier_spacing pusch_scs) |
| Compute PRACH preamble duration information. | |
| bool | from_string (rlc_mode &mode, const std::string &str) |
| constexpr uint16_t | to_number (rlc_um_sn_size sn_size) |
| bool | from_number (rlc_um_sn_size &sn_size, uint16_t num) |
| constexpr uint16_t | to_number (rlc_am_sn_size sn_size) |
| Converts sequence number field to numeric its value. | |
| bool | from_number (rlc_am_sn_size &sn_size, uint16_t num) |
| bool | rlc_t_reassembly_from_int (rlc_t_reassembly &t_reassembly, int num) |
| bool | rlc_t_poll_retransmit_from_int (rlc_t_poll_retransmit &t_poll_retransmit, int num) |
| bool | rlc_max_retx_threshold_from_int (rlc_max_retx_threshold &max_retx_threshold, int num) |
| bool | rlc_poll_pdu_from_int (rlc_poll_pdu &poll_pdu, int num) |
| bool | rlc_poll_kilo_bytes_from_int (rlc_poll_kilo_bytes &poll_bytes, int num) |
| bool | rlc_t_status_prohibit_from_int (rlc_t_status_prohibit &status_prohibit, int num) |
| constexpr uint32_t | cardinality (uint16_t sn_size) |
| Returns the value range of the sequence numbers. | |
| constexpr uint32_t | window_size (uint16_t sn_size) |
| Returns the UM_Window_Size and AM_Window_Size Ref: 3GPP TS 38.322 Sec. 7.2. | |
| constexpr unsigned | to_number (rlc_dc_field dc) |
| constexpr uint16_t | to_number (rlc_si_field si_field) |
| constexpr uint16_t | to_number (rlc_control_pdu_type type) |
| std::unique_ptr< cu_up_executor_pool > | make_cu_up_executor_mapper (span< task_executor * > dl_pdu_executors, span< task_executor * > ul_pdu_executors, span< task_executor * > ctrl_executors) |
| Creates an executor mapper for the CU-UP. | |
| std::unique_ptr< task_execution_context > | create_execution_context (const execution_config_helper::single_worker ¶ms) |
| Create a single worker execution context. | |
| std::unique_ptr< task_execution_context > | create_execution_context (const execution_config_helper::worker_pool ¶ms) |
| Create a worker pool execution context. | |
| std::unique_ptr< task_execution_context > | create_execution_context (const execution_config_helper::priority_multiqueue_worker ¶ms) |
| Create a multi-priority worker execution context. | |
| const char * | to_string (bsr_format bsr) |
| std::underlying_type< periodic_bsr_timer >::type | periodic_bsr_timer_to_value (periodic_bsr_timer timer) |
| Return the value of periodic_bsr_timer. | |
| periodic_bsr_timer | to_periodic_bsr_timer (unsigned timer_value) |
| Return the enum value of periodic_bsr_timer corresponding to give value. | |
| std::underlying_type< periodic_bsr_timer >::type | retx_bsr_timer_to_value (retx_bsr_timer timer) |
| Return the value of retx_bsr_timer. | |
| retx_bsr_timer | to_retx_bsr_timer (unsigned timer_value) |
| Return the enum value of retx_bsr_timer corresponding to give value. | |
| std::underlying_type< periodic_bsr_timer >::type | lc_sr_delay_timer_to_value (logical_channel_sr_delay_timer timer) |
| Return the value of logical_channel_sr_delay_timer. | |
| logical_channel_sr_delay_timer | to_lc_sr_delay_timer (unsigned timer_value) |
| Return the enum value of logical_channel_sr_delay_timer corresponding to give value. | |
| std::underlying_type< phr_periodic_timer >::type | phr_periodic_timer_to_value (phr_periodic_timer timer) |
| Return the value of phr_periodic_timer. | |
| std::underlying_type< phr_prohibit_timer >::type | phr_prohibit_timer_to_value (phr_prohibit_timer timer) |
| Return the value of phr_prohibit_timer. | |
| phr_prohibit_timer | to_phr_prohibit_timer (unsigned prohib_timer) |
| Return the enum value of phr-ProhibitTimer corresponding to the given unsigned value. | |
| std::underlying_type< phr_tx_power_factor_change >::type | phr_tx_pw_factor_change_to_value (phr_tx_power_factor_change timer) |
| Return the value of phr_prohibit_timer. | |
| ofdm_symbol_range | sliv_to_ofdm_symbols (uint32_t sliv) |
| Converts SLIV to OFDM symbol start S and length L. | |
| uint32_t | ofdm_symbol_range_to_sliv (ofdm_symbol_range symb_range) |
| Converts OFDM symbol range to SLIV. | |
| constexpr bwp_id_t | to_bwp_id (std::underlying_type_t< bwp_id_t > value) |
| Converts integer value to BWP-Id". | |
| serv_cell_index_t | uint_to_serv_cell_index (unsigned idx) |
| Converts a uint into a serv_cell_index. | |
| serv_cell_index_t | to_serv_cell_index (std::underlying_type_t< serv_cell_index_t > val) |
| bool | pdcp_t_reordering_from_int (pdcp_t_reordering &t_reord, int num) |
| Conversion of t-Reordering from integer to enum. | |
| constexpr int16_t | pdcp_t_reordering_to_int (pdcp_t_reordering t_reordering) |
| Convert PDCP NR t-Reordering from enum to integer. | |
| constexpr uint16_t | pdu_session_id_to_uint (pdu_session_id_t id) |
| Convert PDU Session ID type to integer. | |
| constexpr pdu_session_id_t | uint_to_pdu_session_id (uint16_t idx) |
| Convert integer to PDU Session ID type. | |
| constexpr uint8_t | qos_flow_id_to_uint (qos_flow_id_t id) |
| Convert QoS Flow ID type to integer. | |
| constexpr qos_flow_id_t | uint_to_qos_flow_id (uint8_t idx) |
| Convert integer to QoS Flow ID type. | |
| uint64_t | ran_ue_id_to_uint (ran_ue_id_t id) |
| Convert RAN_UE_ID type to integer. | |
| ran_ue_id_t | uint_to_ran_ue_id (std::underlying_type_t< ran_ue_id_t > id) |
| Convert integer to RAN_UE_ID type. | |
| bool | from_string (integrity_protection_indication_t &integrity_protection_ind, const std::string &str) |
| bool | from_string (confidentiality_protection_indication_t &confidentiality_protection_ind, const std::string &str) |
| bool | security_result_required (const security_indication_t &security_indication) |
Checks whether a security_result shall be sent. | |
| template<typename Asn1Type > | |
| void | up_transport_layer_info_to_asn1 (Asn1Type &asn1obj, const up_transport_layer_info &up_tp_layer_info) |
Converts type up_transport_layer_info to an ASN.1 type. | |
| template<typename Asn1Type > | |
| up_transport_layer_info | asn1_to_up_transport_layer_info (Asn1Type &asn1obj) |
Converts ASN.1 type into up_transport_layer_info. | |
| gnb_du_id_t | int_to_gnb_du_id (uint64_t id) |
| prioritized_bit_rate | to_prioritized_bit_rate (unsigned pbr) |
Returns the prioritized_bit_rate enum value corresponding to the given unsigned value. | |
| bucket_size_duration | to_bucket_size_duration (unsigned bsd) |
Returns the bucket_size_duration enum value corresponding to the given unsigned value. | |
| std::unique_ptr< mac_pcap > | create_mac_pcap (const std::string &filename, mac_pcap_type pcap_type, task_executor &backend_exec) |
| Creates a MAC pcap writer to a file. | |
| std::unique_ptr< mac_pcap > | create_null_mac_pcap () |
| unsigned | to_nof_cces (aggregation_level lvl) |
| Calculates number of CCEs based on Aggregation Level as per TS38.211 Table 7.3.2.1-1. | |
| unsigned | to_aggregation_level_index (aggregation_level lvl) |
| Calculates the index associated to the passed aggregation level. | |
| aggregation_level | aggregation_index_to_level (uint8_t aggr_lvl_idx) |
| Return aggregation level enum value. | |
| unsigned | sib1_rtx_periodicity_to_value (sib1_rtx_periodicity periodicity) |
| Converts the SIB1 periodicity property to its corresponding value in milliseconds. | |
| constexpr unsigned | get_crc_size (crc_generator_poly poly) |
| bool | operator== (const re_pattern &pattern1, const re_pattern &pattern2) |
| Checks if two RE patterns are equal. | |
| void | hard_decision (bit_buffer &hard_bits, span< const log_likelihood_ratio > soft_bits) |
| Obtains hard bits from a vector of soft bits. | |
| std::shared_ptr< low_papr_sequence_collection_factory > | create_low_papr_sequence_collection_sw_factory (std::shared_ptr< low_papr_sequence_generator_factory > lpg_factory) |
| std::shared_ptr< low_papr_sequence_generator_factory > | create_low_papr_sequence_generator_sw_factory () |
| std::shared_ptr< pseudo_random_generator_factory > | create_pseudo_random_generator_sw_factory () |
| bool | is_valid_lower_phy_config (const lower_phy_configuration &config) |
| Returns true if the given lower PHY configuration is valid, otherwise false. | |
| bool | is_valid_ru_ofh_config (const ru_ofh_configuration &config) |
| Returns true if the given Open Fronthaul configuration is valid, otherwise false. | |
| std::unique_ptr< du > | make_du (const du_config &du_cfg) |
| Instantiates a Distributed Unit (DU) object. | |
| coro_handle< noop_coroutine_promise > | noop_coroutine () noexcept |
| template<typename FunT , typename... Args> | |
| auto | launch_async (Args &&... args) -> typename detail::future_of< FunT > |
| Creates coroutine frame and launches task if eager. | |
| template<typename FunT > | |
| auto | launch_async (FunT &&f) -> typename detail::future_of< FunT > |
| Creates coroutine frame and launches task if eager. | |
| constexpr ldpc_base_graph_type | get_ldpc_base_graph (float R, units::bits A) |
| Returns the LDPC base graph based on the given code rate and transport block size in bits, as per TS 38.212 section 7.2.2. | |
| lcg_id_t | uint_to_lcg_id (std::underlying_type_t< lcg_id_t > val) |
| template<typename Integer > | |
| constexpr void | sliv_to_s_and_l (unsigned N, unsigned sliv, Integer &S, Integer &L) |
| Convert SLIV to start S and length L. | |
| constexpr unsigned | sliv_from_s_and_l (unsigned N, unsigned S, unsigned L) |
| Convert start S and length L into SLIV. | |
| prb_bitmap & | operator|= (prb_bitmap &prb_bits, const prb_interval &grant) |
| prb_bitmap | convert_rbgs_to_prbs (const rbg_bitmap &rbgs, crb_interval bwp_rbs, nominal_rbg_size P) |
| tag_id_t | uint_to_tag_id (unsigned tag_id) |
| Converts a uint into a enum tag_id_t . | |
| std::underlying_type< time_alignment_timer >::type | time_alignment_timer_to_value (time_alignment_timer timer) |
| Return the value of time_alignment_timer. | |
| unsigned | csi_resource_periodicity_to_uint (csi_resource_periodicity val) |
| const span< const csi_resource_periodicity > | csi_resource_periodicity_options () |
| template<class Insertable > | |
| void | string_parse_list (const std::string &input, char delimiter, Insertable &list) |
| template<typename ValueType > | |
| ValueType | any_cast (const any &operand) |
| template<typename ValueType > | |
| ValueType | any_cast (any &operand) |
| template<typename ValueType > | |
| ValueType | any_cast (any &&operand) |
| template<typename ValueType > | |
| const ValueType * | any_cast (const any *operand) noexcept |
| template<typename ValueType > | |
| ValueType * | any_cast (any *operand) noexcept |
| constexpr uint8_t | qos_prio_level_to_uint (qos_prio_level_t qos_prio_level) |
| Convert QoS Priority Level type to integer. | |
| constexpr qos_prio_level_t | uint_to_qos_prio_level (uint8_t qos_prio_level) |
| Convert integer to QoS Priority Level type. | |
| constexpr gtpu_teid_t | int_to_gtpu_teid (uint32_t teid_val) |
| Convert integer to GTP-U TEID value. | |
| template<typename Callback , typename ReturnType = detail::function_return_t<decltype(&std::decay_t<Callback>::operator())>, std::enable_if_t< std::is_same< ReturnType, void >::value, int > = 0> | |
| async_task< bool > | when_completed_on_task_sched (fifo_async_task_scheduler &task_sched, Callback &&task_to_run) |
| Launches an asynchronous task on the given task sequencer and returns an async task that is only complete when the former is complete. | |
| template<typename Callback , typename ReturnType = detail::function_return_t<decltype(&std::decay_t<Callback>::operator())>, std::enable_if_t< not std::is_same< ReturnType, void >::value, int > = 0> | |
| async_task< optional< ReturnType > > | when_completed_on_task_sched (fifo_async_task_scheduler &task_sched, Callback &&task_to_run) |
| template<typename Executor > | |
| std::unique_ptr< task_executor > | make_sync_executor (Executor &&executor) |
| template<typename Exec , typename Task , typename OnTaskDispatchFailure > | |
| void | force_blocking_execute (Exec &&exec, Task &&task, OnTaskDispatchFailure &&fail_func, unsigned max_attempts=std::numeric_limits< unsigned >::max()) |
| Forces the dispatch of a task and its execution to completion. | |
| constexpr uint64_t | gnb_cu_ue_f1ap_id_to_uint (gnb_cu_ue_f1ap_id_t id) |
| constexpr gnb_cu_ue_f1ap_id_t | int_to_gnb_cu_ue_f1ap_id (uint64_t idx) |
| Convert integer to GNB-CU-UE-F1AP-ID type. | |
| constexpr uint64_t | gnb_du_ue_f1ap_id_to_uint (gnb_du_ue_f1ap_id_t id) |
| constexpr gnb_du_ue_f1ap_id_t | int_to_gnb_du_ue_f1ap_id (uint64_t idx) |
| Convert integer to GNB-DU-UE-F1AP-ID type. | |
| constexpr uint64_t | gnb_cu_cp_ue_e1ap_id_to_uint (gnb_cu_cp_ue_e1ap_id_t id) |
| constexpr gnb_cu_cp_ue_e1ap_id_t | int_to_gnb_cu_cp_ue_e1ap_id (uint64_t idx) |
| Convert integer to GNB-CU-CP-UE-E1AP-ID type. | |
| constexpr uint64_t | gnb_cu_up_ue_e1ap_id_to_uint (gnb_cu_up_ue_e1ap_id_t id) |
| constexpr gnb_cu_up_ue_e1ap_id_t | int_to_gnb_cu_up_ue_e1ap_id (uint64_t idx) |
| Convert integer to GNB-DU-UE-E1AP-ID type. | |
| nr_cell_global_id_t | cgi_from_asn1 (const asn1::f1ap::nr_cgi_s &asn1_cgi) |
| Converts ASN.1 CGI typo into internal struct. It also performs the byte to MCC/MNC conversion. | |
| bool | string_to_mcc (std::string str, uint16_t *mcc) |
| bool | mcc_to_string (uint16_t mcc, std::string *str) |
| bool | bytes_to_mcc (const uint8_t *bytes, uint16_t *mcc) |
| bool | mcc_to_bytes (uint16_t mcc, uint8_t *bytes) |
| std::string | mcc_bytes_to_string (uint8_t *mcc_bytes) |
| bool | string_to_mnc (std::string str, uint16_t *mnc) |
| bool | mnc_to_string (uint16_t mnc, std::string *str) |
| bool | bytes_to_mnc (const uint8_t *bytes, uint16_t *mnc, uint8_t len) |
| bool | mnc_to_bytes (uint16_t mnc, uint8_t *bytes, uint8_t *len) |
| template<class Vec > | |
| bool | mnc_to_bytes (uint16_t mnc, Vec &vec) |
| std::string | mnc_bytes_to_string (uint8_t *mnc_bytes, uint32_t nof_bytes) |
| template<class Vec > | |
| std::string | mnc_bytes_to_string (Vec mnc_bytes) |
| void | ngap_plmn_to_mccmnc (uint32_t plmn, uint16_t *mcc, uint16_t *mnc) |
| void | ngap_mccmnc_to_plmn (uint16_t mcc, uint16_t mnc, uint32_t *plmn) |
| uint32_t | plmn_string_to_bcd (const std::string &plmn) |
| std::string | plmn_bcd_to_string (uint32_t plmn) |
| std::unique_ptr< udp_network_gateway > | create_udp_network_gateway (udp_network_gateway_creation_message msg) |
| Creates an instance of an network gateway. | |
| std::unique_ptr< gtpu_demux > | create_gtpu_demux (const gtpu_demux_creation_request &msg) |
| Creates an instance of an GTP-U demux object. | |
| std::unique_ptr< gtpu_echo > | create_gtpu_echo (gtpu_echo_creation_message &msg) |
| Creates an instance of a GTP-U entity. | |
| std::unique_ptr< gtpu_teid_pool > | create_gtpu_allocator (const gtpu_allocator_creation_request &msg) |
| pdcp_config | make_pdcp_drb_config (const e1ap_pdcp_config &e1ap_cfg, const security_indication_t &security_ind) |
| sdap_config | make_sdap_drb_config (const sdap_config_t &e1ap_cfg) |
| std::unique_ptr< gtpu_tunnel_ngu > | create_gtpu_tunnel_ngu (gtpu_tunnel_ngu_creation_message &msg) |
| Creates an instance of a GTP-U entity. | |
| std::unique_ptr< pdcp_entity > | create_pdcp_entity (pdcp_entity_creation_message &msg) |
| Creates an instance of a PDCP entity. | |
| std::unique_ptr< fapi_adaptor::phy_fapi_adaptor > | build_phy_fapi_adaptor (unsigned sector_id, unsigned nof_slots_request_headroom, subcarrier_spacing scs, subcarrier_spacing scs_common, downlink_processor_pool &dl_processor_pool, resource_grid_pool &dl_rg_pool, uplink_request_processor &ul_request_processor, resource_grid_pool &ul_rg_pool, uplink_slot_pdu_repository &ul_pdu_repository, const downlink_pdu_validator &dl_pdu_validator, const uplink_pdu_validator &ul_pdu_validator, const fapi::prach_config &prach_cfg, const fapi::carrier_config &carrier_cfg, std::unique_ptr< fapi_adaptor::precoding_matrix_repository > pm_repo, std::unique_ptr< fapi_adaptor::uci_part2_correspondence_repository > part2_repo, std::vector< uint8_t > prach_ports) |
| dci_sizes | get_dci_sizes (const dci_size_config &config) |
| DCI payload size alignment procedure. | |
| dci_payload | dci_0_0_c_rnti_pack (const dci_0_0_c_rnti_configuration &config) |
| Packs a DCI format 0_0 scrambled by C-RNTI, CS-RNTI or MCS-C-RNTI. | |
| dci_payload | dci_0_0_tc_rnti_pack (const dci_0_0_tc_rnti_configuration &config) |
| Packs a DCI format 0_0 scrambled by TC-RNTI. | |
| dci_payload | dci_1_0_c_rnti_pack (const dci_1_0_c_rnti_configuration &config) |
| Packs a DCI format 1_0 scrambled by C-RNTI, CS-RNTI or MCS-C-RNTI. | |
| dci_payload | dci_1_0_p_rnti_pack (const dci_1_0_p_rnti_configuration &config) |
| Packs a DCI format 1_0 scrambled by P-RNTI. | |
| dci_payload | dci_1_0_si_rnti_pack (const dci_1_0_si_rnti_configuration &config) |
| Packs a DCI format 1_0 scrambled by SI-RNTI. | |
| dci_payload | dci_1_0_ra_rnti_pack (const dci_1_0_ra_rnti_configuration &config) |
| Packs a DCI format 1_0 scrambled by RA-RNTI. | |
| dci_payload | dci_1_0_tc_rnti_pack (const dci_1_0_tc_rnti_configuration &config) |
| Packs a DCI format 1_0 scrambled by TC-RNTI. | |
| dci_payload | dci_0_1_pack (const dci_0_1_configuration &config) |
| Packs a DCI format 0_1 scrambled by C-RNTI, CS-RNTI, SP-CSI-RNTI or MCS-C-RNTI. | |
| dci_payload | dci_1_1_pack (const dci_1_1_configuration &config) |
| Packs a DCI format 1_1 scrambled by C-RNTI, CS-RNTI, SP-CSI-RNTI or MCS-C-RNTI. | |
| dci_payload | dci_rar_pack (const dci_rar_configuration &config) |
| Packs a DCI transmitted in a Random Access Response. | |
| bool | validate_dci_size_config (const dci_size_config &config) |
| Validates a DCI configuration for the DCI size alignment procedure. | |
| unsigned | to_nominal_rbg_size_value (nominal_rbg_size sz) |
| nominal_rbg_size | get_nominal_rbg_size (unsigned bwp_nof_prb, bool is_config_1) |
| unsigned | get_nof_rbgs (crb_interval bwp_rb_dims, nominal_rbg_size P) |
| unsigned | get_nof_rbgs (crb_interval bwp_rb_dims, bool config1_or_2) |
| uint32_t | get_rbg_size (crb_interval bwp_rbs, nominal_rbg_size P, uint32_t rbg_idx) |
| unsigned | csi_report_periodicity_to_uint (csi_report_periodicity period) |
| csi_rs_pattern | get_csi_rs_pattern (const csi_rs_pattern_configuration &config) |
| Generates the CSI-RS pattern. | |
| const char * | to_string (csi_rs_cdm_type value) |
| Converts a CSI-RS CDM type to a string representation. | |
| const char * | to_string (csi_rs_freq_density_type value) |
| Converts a CSI-RS density type to a string representation. | |
| float | alpha_scaling_to_float (alpha_scaling_opt val) |
| pdcch_type0_css_occasion_pattern1_description | pdcch_type0_css_occasions_get_pattern1 (const pdcch_type0_css_occasion_pattern1_configuration &config) |
| Get Type0-PDCCH CSS occasions for multiplexing pattern 1 as per TS38.213 Section 13. | |
| unsigned | type0_pdcch_css_n0_is_even_frame (double table_13_11_and_13_12_O, double table_13_11_and_13_12_M, uint8_t numerology_mu, unsigned ssb_index) |
| Helper function that returns whether slot n0 of Type0-PDCCH CSS is in an even/odd frame. | |
| slot_point | get_type0_pdcch_css_n0 (double table_13_11_and_13_12_O, double table_13_11_and_13_12_M, subcarrier_spacing scs_common, unsigned ssb_index) |
| Helper function that returns slot n0 (where UE should monitor Type0-PDCCH CSS) for a given SSB (beam) index. | |
| template<typename Range , typename IdentifierGetter > | |
| bool | has_unique_ids (const Range &r, const IdentifierGetter &id_get) |
Check if all elements of a range have a unique ID, which is provided via id_get. | |
| template<typename Range , typename ValueType = typename Range::value_type, typename IdType > | |
| bool | has_unique_ids (const Range &r, IdType ValueType::*id_field) |
| Check if all elements of a range have a unique ID, where the ID can be accessed via the provided field pointer. | |
| template<typename Range > | |
| bool | are_all_unique (const Range &r) |
| Check if all elements of a range are unique. | |
| template<typename RangeSet , typename Range , typename SetValueType = typename RangeSet::value_type, typename ValueType = typename Range::value_type, typename IdType , typename IdList > | |
| optional< IdType > | find_disconnected_id (const RangeSet &set, const Range &r, IdList SetValueType::*id_set_list, IdType ValueType::*idfield) |
Find an ID in id_set_list of set that is not present in range r. | |
| constexpr harq_id_t | to_harq_id (unsigned h_id) |
| constexpr const char * | to_string (uci_pucch_f0_or_f1_harq_values value) |
| float | beta_harq_ack_to_float (unsigned beta_uint_val) |
Maps the integer beta_offset value for HARQ-ACK reporting into the corresponding float value. | |
| float | beta_csi_to_float (unsigned beta_uint_val) |
Maps the integer beta_offset value for CSI reporting into the corresponding float value. | |
| dci_dl_format | get_dci_dl_format (dci_dl_rnti_config_type rnti_dci_type) |
| Retrieve DCI format from DCI DL payload format. | |
| const char * | dci_dl_rnti_config_rnti_type (dci_dl_rnti_config_type type) |
| const char * | dci_dl_rnti_config_format (dci_dl_rnti_config_type type) |
| const char * | dci_ul_rnti_config_rnti_type (dci_ul_rnti_config_type type) |
| const char * | dci_ul_rnti_config_format (dci_ul_rnti_config_type type) |
| const char * | to_string (pmi_codebook_type codebook) |
| const char * | to_string (csi_report_quantities quantities) |
| unsigned | sr_nof_bits_to_uint (sr_nof_bits sr_bits) |
| Converts sr_nof_bits into unsigned. | |
| sr_nof_bits | operator+ (sr_nof_bits x, sr_nof_bits y) |
| Implements the + operator for sr_nof_bits. | |
| const char * | to_string (uci_status status) |
Gets a string representing a uci_status value. | |
| std::unique_ptr< mac_interface > | create_du_high_mac (const mac_config &mac_cfg, const srs_du::du_test_config &test_cfg) |
| Create a MAC instance for DU-high. In case the test mode is enabled, the MAC messages will be intercepted. | |
| std::unique_ptr< mac_interface > | create_mac (const mac_config &mac_cfg) |
| units::bits | get_csi_report_pucch_size (const csi_report_configuration &config) |
| Gets the Channel State Information (CSI) report size when the CSI report is transmitted in PUCCH. | |
| bool | validate_pucch_csi_payload (const csi_report_packed &packed, const csi_report_configuration &config) |
| Checks that the CSI payload carried over PUCCH is valid given a CSI report configuration. | |
| csi_report_data | csi_report_unpack_pucch (const csi_report_packed &packed, const csi_report_configuration &config) |
| Unpacks Channel State Information (CSI) report multiplexed in PUCCH. | |
| std::unique_ptr< e2_interface > | create_e2 (e2ap_configuration &e2ap_cfg_, timer_factory timers_, e2_message_notifier &e2_pdu_notifier_, e2_subscription_manager &e2_subscriber_, e2sm_manager &e2sm_manager_) |
| Creates an instance of an E2 interface, notifying outgoing packets on the specified listener object. | |
| std::unique_ptr< e2_interface > | create_e2_with_task_exec (e2ap_configuration &e2ap_cfg_, timer_factory timers_, e2_message_notifier &e2_pdu_notifier_, e2_subscription_manager &e2_subscription_mngr_, e2sm_manager &e2sm_manager_, task_executor &e2_exec_) |
| Creates a decorated instance of an E2 interface (with a task executor) | |
| std::unique_ptr< e2_interface > | create_e2_entity (e2ap_configuration &e2ap_cfg_, e2_connection_client *e2_client_, e2_du_metrics_interface &e2_du_metrics_, srs_du::f1ap_ue_id_translator &f1ap_ue_id_translator_, du_configurator &du_configurator_, timer_factory timers_, task_executor &e2_exec_) |
| Creates a instance of an E2 interface (with subscription manager) | |
| std::unique_ptr< e2ap_packer > | create_e2ap_asn1_packer (sctp_network_gateway_data_handler &gw_, e2_message_handler &e2_, dlt_pcap &pcap_) |
| Creates an instance of an E2AP ASN1 packer. | |
| template<typename GetId > | |
| obj_id_comparator< GetId > | make_id_comparator (GetId &&g) |
| template<typename AddModList , typename RemoveList , typename GetId > | |
| void | apply_addmodremlist_diff (const AddModList &prev_list, const AddModList &add_diff_list, const RemoveList &rm_diff_list, AddModList &next_list, const GetId &id_func) |
| template<typename AddModList , typename RemoveList , typename GetId > | |
| void | apply_addmodremlist_diff (AddModList &src_and_dest_list, const AddModList &add_diff_list, const RemoveList &rm_diff_list, const GetId &id_func) |
| template<typename List , typename RemFunctor , typename AddFunctor , typename ModFunctor , typename GetId > | |
| std::enable_if_t< not is_iterable< AddFunctor >::value > | calculate_addmodremlist_diff (const RemFunctor &rem_func, const AddFunctor &add_func, const ModFunctor &mod_func, const List &prev_list, const List &next_list, const GetId &id_func) |
| Invokes rem_func, add_func and mod_func for any detected differences between prev_list and next_list. | |
| template<typename List , typename toAddModList , typename RemoveList , typename ConvertElem , typename GetId > | |
| std::enable_if_t< is_iterable< toAddModList >::value > | calculate_addmodremlist_diff (toAddModList &add_diff_list, RemoveList &rem_diff_list, const List &prev_list, const List &next_list, const ConvertElem &convert_func, const GetId &id_func) |
| Generate toAddModList and toReleaseList based on differences between prev_list and next_list. | |
| template<typename toAddModList , typename RemoveList , typename GetId > | |
| void | calculate_addmodremlist_diff (toAddModList &add_diff_list, RemoveList &rem_diff_list, const toAddModList &prev_list, const toAddModList &next_list, const GetId &id_func) |
| Generate toAddModList and toReleaseList based on differences between prev_list and next_list. | |
| template<typename Asn1Type , typename OptionalElem , typename ConvertElem > | |
| bool | calculate_setup_release (asn1::setup_release_c< Asn1Type > &setup_rel, const optional< OptionalElem > &prev, const optional< OptionalElem > &next, const ConvertElem &convert_func) |
| Sets up the setup/release ASN.1 object based on the difference between prev and next. | |
| std::unique_ptr< rlc_entity > | create_rlc_entity (const rlc_entity_creation_message &msg) |
| Creates an instance of a RLC bearer. | |
| template<typename TaskExecutor > | |
| auto | execute_on (TaskExecutor &exec) |
| Awaiter that switches to execution context provided by given executor. | |
| template<typename TaskExecutor > | |
| auto | defer_to (TaskExecutor &exec) |
| Awaiter that defers continuation to execution context provided by given executor. | |
| template<typename DispatchTaskExecutor , typename ResumeTaskExecutor , typename Callable , typename ResultType = detail::function_return_t<decltype(&std::decay_t<Callable>::operator())>, std::enable_if_t< not std::is_same< ResultType, void >::value, int > = 0> | |
| auto | offload_to_executor (DispatchTaskExecutor &dispatch_exec, ResumeTaskExecutor &resume_exec, Callable &&callable) |
| template<typename DispatchTaskExecutor , typename CurrentTaskExecutor , typename Callable , typename ReturnType = detail::function_return_t<decltype(&Callable::operator())>> | |
| std::enable_if_t< std::is_same< ReturnType, void >::value, async_task< void > > | dispatch_and_resume_on (DispatchTaskExecutor &dispatch_exec, CurrentTaskExecutor &return_exec, Callable &&callable) |
| template<typename DispatchTaskExecutor , typename CurrentTaskExecutor , typename Callable , typename ReturnType = detail::function_return_t<decltype(&Callable::operator())>> | |
| std::enable_if_t< not std::is_same< ReturnType, void >::value, async_task< ReturnType > > | dispatch_and_resume_on (DispatchTaskExecutor &dispatch_exec, CurrentTaskExecutor &return_exec, Callable &&callable) |
| template<typename Resp > | |
| async_task< std::decay_t< Resp > > | launch_no_op_task (Resp &&r) |
| Launches an async task that finishes immediately with the result set by the caller to this function. | |
| async_task< void > | launch_no_op_task () |
| Launches an async task that finishes immediately with the result set by the caller to this function. | |
| template<size_t N> | |
| const char * | to_c_str (fmt::basic_memory_buffer< char, N > &mem_buffer) |
| Converts fmt memoryy buffer to c_str() without the need for conversion to intermediate std::string. | |
| template<typename UniqueTimer > | |
| auto | async_wait_for (UniqueTimer &&timer, std::chrono::milliseconds duration_msec) |
| Returns an awaitable object that is only ready when the passed duration_msec has elapsed. | |
| void | log_proc_started (srslog::basic_logger &logger, du_ue_index_t ue_index, rnti_t rnti, const char *proc_name) |
| void | log_proc_started (srslog::basic_logger &logger, du_ue_index_t ue_index, const char *proc_name) |
| void | log_proc_completed (srslog::basic_logger &logger, du_ue_index_t ue_index, rnti_t rnti, const char *proc_name) |
| template<typename... Args> | |
| void | log_proc_failure (srslog::basic_logger &logger, du_ue_index_t ue_index, const char *proc_name, const char *cause_fmt="", Args &&... args) |
| template<typename... Args> | |
| void | log_proc_failure (srslog::basic_logger &logger, du_ue_index_t ue_index, rnti_t rnti, const char *proc_name, const char *cause_fmt="", Args &&... args) |
| template<typename... Args> | |
| void | log_proc_event (srslog::basic_logger &logger, du_ue_index_t ue_index, const char *proc_name, const char *cause_fmt, Args &&... args) |
| template<typename... Args> | |
| void | log_ue_event (srslog::basic_logger &logger, const ue_event_prefix &ue_prefix, const char *cause_fmt, Args &&... args) |
| template<typename... Args> | |
| void | log_ue_proc_event (srslog::log_channel &log_ch, const ue_event_prefix &ue_prefix, const char *proc_name, const char *cause_fmt, Args &&... args) |
| template<typename... Args> | |
| void | log_ul_pdu (srslog::basic_logger &logger, du_ue_index_t ue_index, rnti_t rnti, du_cell_index_t cell_index, const char *ch, const char *cause_fmt, Args &&... args) |
| template<typename... Args> | |
| void | log_ul_pdu (srslog::basic_logger &logger, rnti_t rnti, du_cell_index_t cc, const char *cause_fmt, Args &&... args) |
| csi_report_configuration | create_csi_report_configuration (const csi_meas_config &csi_meas) |
| Returns the Chanel State Information (CSI) report configuration parameters based on CSI-MeasConfig. | |
| bool | is_valid (const csi_report_configuration &config) |
| CSI report configuration validator. | |
| bool | is_pusch_configured (const csi_meas_config &csi_meas) |
| Tells whether the CSI report is configured for PUSCH. | |
| unsigned | get_pucch_format2_E_total (unsigned nof_prb, unsigned nof_symbols) |
Calculates the total rate matching output sequence length ![]() | |
| float | pucch_format2_code_rate (unsigned nof_prb, unsigned nof_symbols, unsigned nof_payload_bits) |
| Calculates the effective code rate for a PUCCH Format 2 transmission, for CSI of 1 part only. | |
| unsigned | get_pucch_format2_max_nof_prbs (unsigned nof_payload_bits, unsigned nof_symbols, float max_code_rate) |
| Calculates the number of PRBs required for a given payload size for PUCCH format 2. | |
| unsigned | get_pucch_format2_nof_prbs (unsigned nof_payload_bits, unsigned max_nof_prbs, unsigned nof_symbols, float max_code_rate) |
| Calculates the num. of PRBs (capped to the configured max nof PRBs) given the PUCCH Format 2 payload size. | |
| unsigned | get_pucch_format2_max_payload (unsigned max_nof_prbs, unsigned nof_symbols, float max_code_rate) |
| Calculates the maximum payload for a PUCCH Format 2 transmission. | |
| template<typename Integer > | |
| Integer | gcd (Integer a, Integer b) |
| Calculates the greatest common divisor (GCD) of two integers. | |
| template<typename Integer > | |
| Integer | lcm (Integer a, Integer b) |
| Calculates the least common multiplier (LCM) of two integers. | |
| template<typename Integer > | |
| Integer | lcm (span< const Integer > values) |
| Calculates the least common multiplier (LCM) for a range of integers. | |
| constexpr unsigned | get_nof_uci_codeblocks (unsigned message_length, unsigned codeword_length) |
| Gets the number of codeblocks for a transmission containing a UCI message. | |
| constexpr unsigned | get_uci_crc_size (unsigned payload_size) |
| Gets the number of CRC bits per UCI codeblock. | |
| constexpr unsigned | get_uci_nof_crc_bits (unsigned message_length, unsigned codeword_length) |
| Gets the total number of CRC bits appended in a UCI message, considering segmentation. | |
| void | fill_e1ap_cu_up_e1_setup_request (cu_up_e1_setup_request &req, const asn1::e1ap::gnb_cu_up_e1_setup_request_s &asn1_req) |
| const char * | get_cause_str (const asn1::e1ap::cause_c &cause) |
| Get string with E1AP error cause. | |
| const char * | get_message_type_str (const asn1::e1ap::e1ap_pdu_c &pdu) |
| Extracts message type. | |
| expected< uint8_t > | get_transaction_id (const asn1::e1ap::init_msg_s &out) |
| Extracts transaction id of Initiating message. | |
| expected< uint8_t > | get_transaction_id (const asn1::e1ap::successful_outcome_s &out) |
| Extracts transaction id of Successful Outcome message. | |
| expected< uint8_t > | get_transaction_id (const asn1::e1ap::unsuccessful_outcome_s &out) |
| Extracts transaction id of Unsuccessful Outcome message. | |
| expected< uint8_t > | get_transaction_id (const asn1::e1ap::e1ap_pdu_c &pdu) |
| Extracts transaction id of E1AP PDU. | |
| expected< gnb_cu_cp_ue_e1ap_id_t > | get_gnb_cu_cp_ue_e1ap_id (const asn1::e1ap::init_msg_s &init_msg) |
| expected< gnb_cu_cp_ue_e1ap_id_t > | get_gnb_cu_cp_ue_e1ap_id (const asn1::e1ap::successful_outcome_s &success_outcome) |
| expected< gnb_cu_cp_ue_e1ap_id_t > | get_gnb_cu_cp_ue_e1ap_id (const asn1::e1ap::unsuccessful_outcome_s &unsuccessful_outcome) |
| expected< gnb_cu_cp_ue_e1ap_id_t > | get_gnb_cu_cp_ue_e1ap_id (const asn1::e1ap::e1ap_pdu_c &pdu) |
| expected< gnb_cu_up_ue_e1ap_id_t > | get_gnb_cu_up_ue_e1ap_id (const asn1::e1ap::init_msg_s &init_msg) |
| expected< gnb_cu_up_ue_e1ap_id_t > | get_gnb_cu_up_ue_e1ap_id (const asn1::e1ap::successful_outcome_s &success_outcome) |
| expected< gnb_cu_up_ue_e1ap_id_t > | get_gnb_cu_up_ue_e1ap_id (const asn1::e1ap::unsuccessful_outcome_s &unsuccessful_outcome) |
| expected< gnb_cu_up_ue_e1ap_id_t > | get_gnb_cu_up_ue_e1ap_id (const asn1::e1ap::e1ap_pdu_c &pdu) |
| asn1::e1ap::ciphering_algorithm_e | ciphering_algorithm_to_e1ap_asn1 (const srsran::security::ciphering_algorithm &ciph_algo) |
Converts type ciphering_algorithm to an E1AP ASN.1 type. | |
| srsran::security::ciphering_algorithm | e1ap_asn1_to_ciphering_algorithm (const asn1::e1ap::ciphering_algorithm_e &asn1_ciph_algo) |
Converts E1AP ASN.1 type to type and ciphering_algorithm type. | |
| asn1::e1ap::integrity_protection_algorithm_e | integrity_algorithm_to_e1ap_asn1 (const srsran::security::integrity_algorithm &int_algo) |
Converts type integrity_algorithm to an E1AP ASN.1 type. | |
| srsran::security::integrity_algorithm | e1ap_asn1_to_integrity_algorithm (const asn1::e1ap::integrity_protection_algorithm_e &asn1_int_algo) |
Converts E1AP ASN.1 type to type and integrity_algorithm type. | |
| asn1::e1ap::snssai_s | snssai_to_e1ap_asn1 (srsran::s_nssai_t snssai) |
Convert s_nssai_t type to E1AP ASN1 s-NSSAI. | |
| srsran::s_nssai_t | e1ap_asn1_to_snssai (asn1::e1ap::snssai_s asn1_snssai) |
Convert E1AP ASN1 s-NSSAI to s_nssai_t type. | |
| asn1::e1ap::nr_cgi_s | nr_cgi_to_e1ap_asn1 (const nr_cell_global_id_t &nr_cgi) |
Convert nr_cell_global_id_t to E1AP ASN.1. | |
| asn1::e1ap::sdap_hdr_ul_opts::options | sdap_hdr_ul_cfg_to_e1ap_asn1 (sdap_hdr_ul_cfg hdr_cfg) |
| asn1::e1ap::sdap_hdr_dl_opts::options | sdap_hdr_dl_cfg_to_e1ap_asn1 (sdap_hdr_dl_cfg hdr_cfg) |
| asn1::e1ap::sdap_cfg_s | sdap_config_to_e1ap_asn1 (sdap_config_t sdap_cfg) |
Converts type sdap_config to an E1AP ASN.1 type. | |
| sdap_hdr_ul_cfg | e1ap_asn1_to_sdap_hdr_ul_cfg (asn1::e1ap::sdap_hdr_ul_opts::options asn1_hdr_ul_opts) |
| sdap_hdr_dl_cfg | e1ap_asn1_to_sdap_hdr_dl_cfg (asn1::e1ap::sdap_hdr_dl_opts::options asn1_hdr_dl_opts) |
| sdap_config_t | e1ap_asn1_to_sdap_config (asn1::e1ap::sdap_cfg_s asn1_sdap_cfg) |
Converts E1AP ASN.1 type to sdap_config to type. | |
| asn1::e1ap::rlc_mode_e | rlc_mode_to_asn1 (srsran::pdcp_rlc_mode rlc_mod) |
Converts rlc_mode type to an E1AP ASN.1 type. | |
| srsran::pdcp_rlc_mode | asn1_to_rlc_mode (asn1::e1ap::rlc_mode_e asn1_rlc_mod) |
Converts E1AP ASN.1 type to an rlc_mode type. | |
| asn1::e1ap::pdcp_sn_size_e | pdcp_sn_size_to_asn1 (pdcp_sn_size sn_size) |
| Convert PDCP SN size from enum to E1AP ASN.1. | |
| pdcp_sn_size | asn1_to_pdcp_sn_size (asn1::e1ap::pdcp_sn_size_e asn1_sn_size) |
| Convert E1AP ASN.1 to PDCP SN size. | |
| pdcp_discard_timer | asn1_to_pdcp_discard_timer (asn1::e1ap::discard_timer_e asn1_discard_timer) |
Converts E1AP ASN.1 discard timer type to pdcp_discard_timer type. | |
| asn1::e1ap::discard_timer_e | pdcp_discard_timer_to_asn1 (pdcp_discard_timer discard_timer) |
Converts pdcp_discard_timer type to E1AP ASN.1 discard timer type. | |
| pdcp_t_reordering | asn1_to_pdcp_t_reordering (asn1::e1ap::t_reordering_e asn1_t_reordering) |
Converts E1AP ASN.1 t-Reordering type to pdcp_t_reordering type. | |
| asn1::e1ap::t_reordering_e | pdcp_t_reordering_to_asn1 (pdcp_t_reordering t_reordering) |
| asn1::e1ap::pdcp_cfg_s | pdcp_config_to_e1ap_asn1 (e1ap_pdcp_config pdcp_cfg) |
Converts type e1ap_pdcp_config to an E1AP ASN.1 type. | |
| e1ap_pdcp_config | e1ap_asn1_to_pdcp_config (asn1::e1ap::pdcp_cfg_s asn1_pdcp_cfg) |
Converts E1AP ASN.1 type to an e1ap_pdcp_config type. | |
| cause_t | e1ap_cause_to_cause (asn1::e1ap::cause_c e1ap_cause) |
Convert E1AP Cause to cause_t type. | |
| asn1::e1ap::cause_c | cause_to_asn1_cause (cause_t cause) |
Convert cause_t type to E1AP ASN.1 cause. | |
| bool | e1ap_asn1_ng_dl_up_unchanged_to_bool (asn1::e1ap::pdu_session_res_setup_item_s::ng_dl_up_unchanged_e_ ng_dl_up_unchanged) |
| Convert E1AP NG DL UP Unchanged to its boolean representation. | |
| e1ap_pdcp_count | e1ap_asn1_pdcp_count_to_pdcp_count (asn1::e1ap::pdcp_count_s asn1_pdcp_count) |
Convert E1AP ASN.1 PDCP Count to e1ap_pdcp_count type. | |
| nr_cell_global_id_t | e1ap_asn1_to_cgi (const asn1::e1ap::nr_cgi_s &asn1_cgi) |
Convert E1AP ASN.1 CGI to nr_cell_global_id_t type. | |
| e1ap_qos_flow_map_item | asn1_e1ap_to_qos_flow_map_item (const asn1::e1ap::qos_flow_map_item_s &asn1_qos_flow_map_item) |
Convert E1AP ASN.1 QoS Flow Map Item to e1ap_qos_flow_map_item type. | |
| void | e1ap_asn1_to_cell_group_info (std::vector< e1ap_cell_group_info_item > &cell_group_info, const asn1::e1ap::cell_group_info_l &asn1_cell_group_info) |
Convert E1AP ASN.1 Cell Group Info to std::vector<e1ap_cell_group_info_item> type. | |
| void | e1ap_asn1_to_flow_map_info (slotted_id_vector< qos_flow_id_t, e1ap_qos_flow_qos_param_item > &flow_map_info, const asn1::e1ap::qos_flow_qos_param_list_l &ans1_flow_map_list) |
Convert E1AP ASN.1 QoS Flow Map Info to slotted_id_vector<qos_flow_id_t, e1ap_qos_flow_qos_param_item> type. | |
| e1ap_data_forwarding_info_request | e1ap_asn1_to_data_forwarding_info_request (const asn1::e1ap::data_forwarding_info_request_s &asn1_data_forwarding_info_request) |
Convert E1AP ASN.1 Data Forwarding Info Request to e1ap_data_forwarding_info_request type. | |
| e1ap_pdcp_sn_status_info | e1ap_asn1_to_pdcp_sn_status_info (const asn1::e1ap::pdcp_sn_status_info_s &asn1_pdcp_sn_status_info) |
Convert E1AP ASN.1 PDCP SN Status Info to e1ap_pdcp_sn_status_info type. | |
| template<typename template_asn1_item > | |
| void | e1ap_drb_item_list_to_asn1 (asn1::dyn_array< template_asn1_item > &asn1_drb_item_list, const slotted_id_vector< drb_id_t, e1ap_drb_setup_item_ng_ran > &drb_setup_list_ng_ran) |
| template<typename template_asn1_item > | |
| void | e1ap_drb_failed_item_list_to_asn1 (asn1::dyn_array< template_asn1_item > &asn1_drb_item_list, const slotted_id_vector< drb_id_t, e1ap_drb_failed_item_ng_ran > &drb_failed_list_ng_ran) |
| activity_notification_level_t | asn1_to_activity_notification_level (const asn1::e1ap::activity_notif_level_e &asn1_activity_notification) |
| void | security_result_to_asn1 (asn1::e1ap::security_result_s &asn1obj, const security_result_t &security_result) |
Converts type security_result_t to an ASN.1 type. | |
| void | asn1_to_security_result (security_result_t &security_result, const asn1::e1ap::security_result_s &asn1obj) |
Converts ASN.1 type to security_result_t. | |
| void | security_indication_to_asn1 (asn1::e1ap::security_ind_s &asn1obj, const security_indication_t &security_ind) |
Converts type security_indication to an ASN.1 type. | |
| void | asn1_to_security_indication (security_indication_t &security_ind, const asn1::e1ap::security_ind_s &asn1obj) |
Converts type security_indication to an ASN.1 type. | |
| bool | get_e2sm_rc_control_style_def (uint32_t style_id, e2sm_rc_control_service_def_t &control_service_def) |
| std::unique_ptr< e2sm_handler > | create_e2sm (std::string e2sm_version, e2sm_kpm_meas_provider &meas_provider) |
| create instance of e2sm handler | |
| expected< uint8_t > | get_transaction_id (const asn1::e2ap::init_msg_s &out) |
| Extracts transaction id of Initiating message. | |
| expected< uint8_t > | get_transaction_id (const asn1::e2ap::successful_outcome_s &out) |
| Extracts transaction id of Successful Outcome message. | |
| expected< uint8_t > | get_transaction_id (const asn1::e2ap::unsuccessful_outcome_s &out) |
| Extracts transaction id of Unsuccessful Outcome message. | |
| expected< uint8_t > | get_transaction_id (const asn1::e2ap::e2_ap_pdu_c &pdu) |
| Extracts transaction id of E2AP PDU. | |
| const char * | get_message_type_str (const asn1::e2ap::e2_ap_pdu_c &pdu) |
| Extracts message type. | |
| void | fill_ran_function_item (asn1::e2ap::e2setup_request_s &setup, const std::string &ran_oid, e2sm_interface *e2_iface) |
| void | fill_asn1_e2ap_setup_request (asn1::e2ap::e2setup_request_s &setup, const e2ap_configuration &e2ap_config, e2sm_manager &e2sm_mngr) |
| bool | is_cell_id_required (const e2sm_kpm_metric_t &metric) |
| span< const e2sm_kpm_metric_t > | get_e2sm_kpm_28_552_metrics () |
| span< const e2sm_kpm_metric_t > | get_e2sm_kpm_oran_metrics () |
| std::string | e2sm_kpm_label_2_str (e2sm_kpm_label_enum label) |
| std::string | e2sm_kpm_scope_2_str (e2sm_kpm_metric_level_enum level) |
| e2sm_kpm_label_enum | asn1_label_2_enum (const asn1::e2sm_kpm::meas_label_s &meas_label) |
| bool | operator== (asn1::e2sm_kpm::ueid_c const &lhs, asn1::e2sm_kpm::ueid_c const &rhs) |
| bool | operator!= (asn1::e2sm_kpm::ueid_c const &lhs, asn1::e2sm_kpm::ueid_c const &rhs) |
| bool | operator< (asn1::e2sm_kpm::ueid_c const &lhs, asn1::e2sm_kpm::ueid_c const &rhs) |
| bool | operator== (asn1::e2sm_kpm::ueid_gnb_du_s const &lhs, asn1::e2sm_kpm::ueid_gnb_du_s const &rhs) |
| bool | operator< (asn1::e2sm_kpm::ueid_gnb_du_s const &lhs, asn1::e2sm_kpm::ueid_gnb_du_s const &rhs) |
| const char * | get_cause_str (const asn1::f1ap::cause_c &cause) |
| Get string with F1AP error cause. | |
| const char * | get_message_type_str (const asn1::f1ap::f1ap_pdu_c &pdu) |
| Extracts message type. | |
| expected< uint8_t > | get_transaction_id (const asn1::f1ap::init_msg_s &out) |
| Extracts transaction id of Initiating message. | |
| expected< uint8_t > | get_transaction_id (const asn1::f1ap::successful_outcome_s &out) |
| Extracts transaction id of Successful Outcome message. | |
| expected< uint8_t > | get_transaction_id (const asn1::f1ap::unsuccessful_outcome_s &out) |
| Extracts transaction id of Unsuccessful Outcome message. | |
| expected< uint8_t > | get_transaction_id (const asn1::f1ap::f1ap_pdu_c &pdu) |
| Extracts transaction id of F1AP PDU. | |
| expected< gnb_du_ue_f1ap_id_t > | get_gnb_du_ue_f1ap_id (const asn1::f1ap::init_msg_s &init_msg) |
| expected< gnb_du_ue_f1ap_id_t > | get_gnb_du_ue_f1ap_id (const asn1::f1ap::successful_outcome_s &success_outcome) |
| expected< gnb_du_ue_f1ap_id_t > | get_gnb_du_ue_f1ap_id (const asn1::f1ap::unsuccessful_outcome_s &unsuccessful_outcome) |
| expected< gnb_du_ue_f1ap_id_t > | get_gnb_du_ue_f1ap_id (const asn1::f1ap::f1ap_pdu_c &pdu) |
| expected< unsigned > | get_paging_ue_identity_index_value (const asn1::f1ap::paging_s &pdu) |
| expected< uint64_t > | get_paging_identity (const asn1::f1ap::paging_s &pdu) |
| expected< paging_identity_type > | get_paging_identity_type (const asn1::f1ap::paging_s &pdu) |
| expected< unsigned > | get_paging_drx_in_nof_rf (const asn1::f1ap::paging_s &pdu) |
| expected< unsigned > | get_paging_priority (const asn1::f1ap::paging_s &pdu) |
| template<typename Integer > | |
| void | set_bitmap_bit (Integer &bitmap, unsigned bit, bool enable) |
| Sets the value of a bit in the bitmap. When enable is true, it sets the bit, otherwise it clears the bit. | |
| template<typename Integer > | |
| bool | check_bitmap_bit (Integer bitmap, unsigned bit) |
| Checks the value of a bit in the bitmap and returns a true if the bit is set, otherwise false. | |
| float | get_sch_to_dmrs_ratio_dB (unsigned nof_cdm_groups_without_data) |
| Calculates the ratio between the Physical Shared Channel EPRE and the DM-RS EPRE. | |
| csi_report_pusch_size | get_csi_report_pusch_size (const csi_report_configuration &config) |
| Calculates the Channel State Information (CSI) payload sizes when the CSI report is transmitted in PUSCH. | |
| bool | validate_pusch_csi_payload (const csi_report_packed &csi1_packed, const csi_report_packed &csi2_packed, const csi_report_configuration &config) |
| Checks that the CSI payload carried over PUSCH is valid given a CSI report configuration. | |
| csi_report_data | csi_report_unpack_pusch (const csi_report_packed &csi1_packed, const csi_report_packed &csi2_packed, const csi_report_configuration &config) |
| Unpacks a Channel State Information (CSI) report multiplexed in PUSCH containing CSI Part 1 and Part 2. | |
| csi_report_data | csi_report_unpack_pusch (const csi_report_packed &csi1_packed, const csi_report_configuration &config) |
| Unpacks Channel State Information (CSI) report multiplexed in PUSCH containing CSI Part 1 only. | |
| unsigned | csi_report_get_nof_csi_rs_antenna_ports (pmi_codebook_type pmi_codebook) |
| Gets the number of CSI-RS antenna ports from the PMI codebook type. | |
| bool | sctp_set_rto_opts (int fd, optional< int > rto_initial, optional< int > rto_min, optional< int > rto_max, srslog::basic_logger &logger) |
| bool | sctp_set_init_msg_opts (int fd, optional< int > init_max_attempts, optional< int > max_init_timeo, srslog::basic_logger &logger) |
| bool | sockaddr_to_ip_str (const sockaddr *addr, std::string &ip_address, srslog::basic_logger &logger) |
| std::string | sock_type_to_str (int type) |
| const char * | to_string (gtpu_extension_header_type type) |
| const char * | to_string (gtpu_information_element_type type) |
| bool | gtpu_read_teid (uint32_t &teid, const byte_buffer &pdu, srslog::basic_logger &logger) |
| bool | gtpu_dissect_pdu (gtpu_dissected_pdu &dissected_pdu, byte_buffer raw_pdu, gtpu_tunnel_logger &logger) |
| bool | gtpu_write_header (byte_buffer &pdu, const gtpu_header &header, gtpu_tunnel_logger &logger) |
| void | gtpu_write_ie_recovery (byte_buffer &pdu, gtpu_ie_recovery &ie_recovery, gtpu_tunnel_logger &logger) |
| void | gtpu_write_ie_private_extension (byte_buffer &pdu, gtpu_ie_private_extension &ie_priv_ext, gtpu_tunnel_logger &logger) |
| bool | gtpu_supported_flags_check (const gtpu_header &header, gtpu_tunnel_logger &logger) |
| Supported feature helpers. | |
| bool | gtpu_supported_msg_type_check (const gtpu_header &header, gtpu_tunnel_logger &logger) |
| bool | gtpu_extension_header_comprehension_check (const gtpu_extension_header_type &type, gtpu_tunnel_logger &logger) |
| byte_buffer | gtpu_extract_t_pdu (gtpu_dissected_pdu &&dissected_pdu) |
| bool | gtpu_read_ext_header (bit_decoder &decoder, gtpu_extension_header &ext, gtpu_extension_header_type &next_extension_header_type, gtpu_tunnel_logger &logger) |
| bool | gtpu_write_ext_header (bit_encoder &encoder, const gtpu_extension_header &ext, gtpu_extension_header_type next_extension_header_type, gtpu_tunnel_logger &logger) |
| void | gtpu_unpack_ext_header_type (bit_decoder &decoder, gtpu_extension_header_type &type) |
| uint16_t | gtpu_get_length (const gtpu_header &header, const byte_buffer &sdu) |
| unsigned | get_mac_sdu_subheader_size (unsigned payload) |
| Derive MAC SDU subheader size in bytes as per TS38.321, Section 6.1. | |
| unsigned | get_mac_sdu_required_bytes (unsigned payload) |
| Derive MAC SDU total size in bytes (includes subheader). | |
| unsigned | get_mac_sdu_payload_size (unsigned mac_sdu_size) |
| lcg_bsr_report | decode_sbsr (byte_buffer_view payload) |
| Decode Short BSR. | |
| expected< long_bsr_report > | decode_lbsr (bsr_format format, byte_buffer_view payload) |
| Decode Long BSR. | |
| uint32_t | buff_size_field_to_bytes (size_t buff_size_index, bsr_format format) |
| std::unique_ptr< mac_scheduler > | create_scheduler (const scheduler_config &sched_cfg) |
| Create L2 scheduler object. | |
| rnti_t | decode_crnti_ce (byte_buffer_view payload) |
| Decode C-RNTI MAC CE. | |
| template<class T , std::size_t N> | |
| constexpr std::array< std::remove_cv_t< T >, N > | to_array (T(&a)[N]) |
| Helper method to generate an std::array from a C array without needing to derive the size N. | |
| template<class T , std::size_t N> | |
| constexpr std::array< std::remove_cv_t< T >, N > | to_array (T(&&a)[N]) |
| prach_frequency_mapping_information | prach_frequency_mapping_get (prach_subcarrier_spacing prach_scs, subcarrier_spacing pusch_scs) |
| Gets the PRACH frequency mapping information contained in TS38.211 Table 6.3.3.2-1. | |
| constexpr unsigned | to_number (pdcp_dc_field dc) |
| constexpr pdcp_dc_field | pdcp_pdu_get_dc (uint8_t first_byte) |
| Reads the D/C field from the first (header) byte of a PDCP PDU. | |
| constexpr uint16_t | to_number (pdcp_control_pdu_type type) |
| constexpr pdcp_control_pdu_type | pdcp_control_pdu_get_cpt (uint8_t first_byte) |
| Reads the CPT field from the first (header) byte of a PDCP control PDU. | |
| bool | is_simd_addr_aligned (const void *addr, uintptr_t mask) |
| std::shared_ptr< amplitude_controller_factory > | create_amplitude_controller_clipping_factory (const amplitude_controller_clipping_config &config) |
| Creates a clipping amplitude controller factory. | |
| std::shared_ptr< amplitude_controller_factory > | create_amplitude_controller_scaling_factory (float gain_dB_) |
| Creates a scaling amplitude controller factory. | |
| std::shared_ptr< lower_phy_downlink_processor_factory > | create_downlink_processor_factory_sw (std::shared_ptr< pdxch_processor_factory > pdxch_proc_factory, std::shared_ptr< amplitude_controller_factory > amplitude_control_factory) |
| Creates a software based downlink processor factory. | |
| std::shared_ptr< lower_phy_uplink_processor_factory > | create_uplink_processor_factory_sw (std::shared_ptr< prach_processor_factory > prach_proc_factory, std::shared_ptr< puxch_processor_factory > puxch_proc_factory) |
| Creates a software based uplink processor factory. | |
| std::shared_ptr< ofdm_modulator_factory > | create_ofdm_modulator_factory_generic (ofdm_factory_generic_configuration &config) |
| Creates a generic OFDM modulator factory. | |
| std::shared_ptr< ofdm_demodulator_factory > | create_ofdm_demodulator_factory_generic (ofdm_factory_generic_configuration &config) |
| Creates a generic OFDM demodulator factory. | |
| std::shared_ptr< ofdm_prach_demodulator_factory > | create_ofdm_prach_demodulator_factory_sw (std::shared_ptr< dft_processor_factory > dft_factory, sampling_rate srate) |
| Creates a software generic PRACH demodulator. | |
| std::shared_ptr< pdxch_processor_factory > | create_pdxch_processor_factory_sw (unsigned request_queue_size, std::shared_ptr< ofdm_modulator_factory > ofdm_mod_factory) |
| Creates a software based PDxCH processor factory. | |
| std::shared_ptr< prach_processor_factory > | create_prach_processor_factory_sw (std::shared_ptr< ofdm_prach_demodulator_factory > ofdm_prach_factory, task_executor &async_task_executor, sampling_rate srate, unsigned max_nof_ports, unsigned max_nof_concurrent_requests) |
| Creates a software based PRACH processor factory. | |
| std::shared_ptr< puxch_processor_factory > | create_puxch_processor_factory_sw (unsigned request_queue_size, std::shared_ptr< ofdm_demodulator_factory > ofdm_demod_factory) |
| Creates a software based PUxCH processor factory. | |
| std::unique_ptr< short_block_encoder > | create_short_block_encoder () |
| void | demodulate_soft_QAM16 (span< log_likelihood_ratio > llrs, span< const cf_t > symbols, span< const float > noise_vars) |
| Soft-demodulates 16-QAM modulation. | |
| void | demodulate_soft_QAM256 (span< log_likelihood_ratio > llrs, span< const cf_t > symbols, span< const float > noise_vars) |
| Soft-demodulates 256-QAM modulation. | |
| void | demodulate_soft_QAM64 (span< log_likelihood_ratio > llrs, span< const cf_t > symbols, span< const float > noise_vars) |
| Soft-demodulates 64-QAM modulation. | |
| void | demodulate_soft_QPSK (span< log_likelihood_ratio > llrs, span< const cf_t > symbols, span< const float > noise_vars) |
| Soft-demodulates QPSK modulation. | |
| unsigned | compute_interval_idx (float value, float interval_width, unsigned nof_intervals) |
| Helper function to calculate an interval index from floating point value. | |
| template<typename Table > | |
| float | interval_function (float value, float rcp_noise, float interval_width, unsigned nof_intervals, const Table &slopes, const Table &intercepts) |
| Applies an interval function. | |
| prb_index_list | cce_to_prb_mapping_coreset0 (unsigned N_coreset0_start, unsigned N_coreset0_size, unsigned N_symb_coreset, pci_t N_id_cell, unsigned aggregation_level, unsigned cce_index) |
| Calculates the PDCCH CCE to PRB mapping for a PDCCH transmission in CORESET0. | |
| prb_index_list | cce_to_prb_mapping_non_interleaved (unsigned N_bwp_start, const freq_resource_bitmap &freq_resources, unsigned N_symb_coreset, unsigned aggregation_level, unsigned cce_index) |
| Calculates the PDCCH CCE to PRB mapping for a non-interleaved PDCCH transmission. | |
| prb_index_list | cce_to_prb_mapping_interleaved (unsigned N_bwp_start, const freq_resource_bitmap &freq_resources, unsigned N_symb_coreset, unsigned reg_bundle_size, unsigned interleaver_size, unsigned shift_index, unsigned aggregation_level, unsigned cce_index) |
| Calculates the PDCCH CCE to PRB mapping for an interleaved PDCCH transmission. | |
| uint16_t | prach_cyclic_shifts_get (prach_subcarrier_spacing prach_scs, restricted_set_config restricted_set, unsigned zero_correlation_zone) |
Calculates the number of cyclic shifts ![]() | |
| std::shared_ptr< pusch_decoder_factory > | create_pusch_decoder_factory_sw (pusch_decoder_factory_sw_configuration config) |
| std::shared_ptr< pusch_decoder_factory > | create_pusch_decoder_factory_hw (const pusch_decoder_factory_hw_configuration &config) |
| std::shared_ptr< pusch_demodulator_factory > | create_pusch_demodulator_factory_sw (std::shared_ptr< channel_equalizer_factory > equalizer_factory, std::shared_ptr< channel_modulation_factory > demodulation_factory, std::shared_ptr< pseudo_random_generator_factory > prg_factory, bool enable_evm=false, bool enable_post_eq_sinr=false) |
| std::shared_ptr< pusch_processor_factory > | create_pusch_processor_factory_sw (pusch_processor_factory_sw_configuration &config) |
| std::shared_ptr< pusch_processor_factory > | create_pusch_processor_pool (std::shared_ptr< pusch_processor_factory > factory, unsigned max_nof_processors) |
| std::shared_ptr< ulsch_demultiplex_factory > | create_ulsch_demultiplex_factory_sw () |
| ulsch_information | get_ulsch_information (const ulsch_configuration &config) |
| Gets the UL-SCH information for a given PUSCH configuration. | |
| unsigned | uci_part2_get_size (const uci_payload_type &part1, const uci_part2_size_description &descr) |
| Calculates the UCI part 2 from UCI part 1. | |
| template<unsigned RX_PORTS> | |
| void | equalize_zf_1xn (channel_equalizer::re_list &eq_symbols, channel_equalizer::noise_var_list &noise_vars, const channel_equalizer::re_list &ch_symbols, const channel_equalizer::ch_est_list &ch_estimates, float noise_var_est, float tx_scaling) |
Implementation of a Zero Forcing equalizer for a SIMO 1 X RX_PORTS channel. | |
| void | equalize_zf_2x2 (channel_equalizer::re_list &eq_symbols, channel_equalizer::noise_var_list &noise_vars, const channel_equalizer::re_list &ch_symbols, const channel_equalizer::ch_est_list &ch_estimates, float noise_var_est, float tx_scaling) |
| Implementation of a Zero Forcing equalizer algorithm for a MIMO 2 X 2 channel. | |
| void | dmrs_sequence_generate (span< cf_t > sequence, pseudo_random_generator &prg, float amplitude, unsigned reference_point_k_rb, unsigned nof_dmrs_per_rb, const bounded_bitset< MAX_RB > &rb_mask) |
| Helper function to generate DMRS sequences. | |
| std::unique_ptr< radio_factory > | create_plugin_radio_factory (std::string driver_name) |
| ri_li_cqi_cri_sizes | get_ri_li_cqi_cri_sizes (pmi_codebook_type pmi_codebook, ri_restriction_type ri_restriction, csi_report_data::ri_type ri, unsigned nof_csi_rs_resources) |
| Gets the RI, LI, wideband CQI, and CRI fields bit-width. | |
| unsigned | csi_report_get_size_pmi (pmi_codebook_type codebook, csi_report_data::ri_type ri) |
| Gets the PMI field bit-width. | |
| csi_report_data::wideband_cqi_type | csi_report_unpack_wideband_cqi (csi_report_packed packed) |
| Unpacks wideband CQI. | |
| csi_report_pmi | csi_report_unpack_pmi (const csi_report_packed &packed, pmi_codebook_type codebook, csi_report_data::ri_type ri) |
| Unpacks PMI. | |
| csi_report_data::ri_type | csi_report_unpack_ri (const csi_report_packed &ri_packed, const ri_restriction_type &ri_restriction) |
| Unpacks RI as per TS38.212 Section 6.3.1.1.2. and TS38.214 Section 5.2.2.2.1. | |
| unsigned | max_nof_monitored_pdcch_candidates (subcarrier_spacing scs) |
| Gets the maximum number of monitored PDCCH candidates per slot for a given subcarrier spacing, for a single serving cell, as per TS 38.213, Table 10.1-2. | |
| pdcch_candidate_list | pdcch_candidates_common_ss_get_lowest_cce (const pdcch_candidates_common_ss_configuration &config) |
| Generates a PDCCH candidate list for Common SS as per TS38.213 Section 10.1. | |
| pdcch_candidate_list | pdcch_candidates_ue_ss_get_lowest_cce (const pdcch_candidates_ue_ss_configuration &config) |
| Generates a PDCCH candidate list for UE-Specific SS as per TS38.213 Section 10.1. | |
| dlsch_information | get_dlsch_information (const dlsch_configuration &config) |
| Gets the DL-SCH information for a given PDSCH configuration. | |
| pdsch_antenna_ports_mapping | get_pdsch_antenna_port_mapping (unsigned nof_layers, unsigned nof_dl_antenna_ports, dmrs_config_type dmrs_cfg_type, dmrs_max_length dmrs_max_len, bool are_both_cws_enabled) |
| Returns the PDSCH antenna ports mapping from TS 38.212, tables 7.3.1.2.2-1/2/3/4 based on input configuration. | |
| unsigned | get_pdsch_antenna_port_mapping_row_index (unsigned nof_layers, unsigned nof_dl_antenna_ports, dmrs_config_type dmrs_cfg_type, dmrs_max_length dmrs_max_len, bool are_both_cws_enabled) |
| Returns the PDSCH antenna ports mapping row index in TS 38.212, tables 7.3.1.2.2-1/2/3/4. | |
| pusch_tpmi_select_info | get_tpmi_select_info (const srs_channel_matrix &channel, float noise_variance) |
| Selects the Transmit Precoding Matrix Indicator (TPMI) for each possible number of layers supported by the channel topology. | |
| sch_information | get_sch_segmentation_info (units::bits tbs, float target_code_rate) |
| unsigned | ra_frequency_type1_get_riv (const ra_frequency_type1_configuration &config) |
Calculates the resource indication value ![]() | |
| ra_frequency_type1_configuration | ra_frequency_type1_from_riv (unsigned N_bwp_size, unsigned riv) |
Calculates the PRBs from ![]() | |
| unsigned | ra_frequency_type1_special_get_riv (const ra_frequency_type1_special_configuration &config) |
Calculates the resource indication value ![]() | |
| float | tbs_calculator_pdsch_get_scaling_factor (unsigned scaling) |
| Converts TB scaling field into the scaling factor S (see TS38.214 Table 5.1.3.2-2). | |
| unsigned | tbs_calculator_table_find_smallest_not_less_than (unsigned nof_info_prime) |
| Gets the smallest TBS in bits (from TS 38.214 Table 5.1.3.2-1) greater than or equal to a given value. | |
| unsigned | tbs_calculator_calculate (const tbs_calculator_configuration &config) |
| Calculates the TBS for a given SCH transmission. | |
| optional< srs_configuration > | srs_configuration_get (uint8_t c_srs, uint8_t b_srs) |
| Gets an SRS configuration. | |
| constexpr size_t | rlc_am_pdu_header_min_size (rlc_am_sn_size sn_size) |
| constexpr size_t | rlc_am_pdu_header_max_size (rlc_am_sn_size sn_size) |
| SRSRAN_NODISCARD bool | rlc_am_read_data_pdu_header (const byte_buffer_view &pdu, const rlc_am_sn_size sn_size, rlc_am_pdu_header *header) |
| size_t | rlc_am_write_data_pdu_header (span< uint8_t > buf, const rlc_am_pdu_header &header) |
| template<typename Callable > | |
| detail::scope_exit< std::decay_t< Callable > > | make_scope_exit (Callable &&callable) |
| Defers callable call to scope exit. | |
| constexpr size_t | rlc_um_pdu_header_size_no_so (rlc_um_sn_size sn_size) |
| constexpr size_t | rlc_um_pdu_header_size_with_so (rlc_um_sn_size sn_size) |
| bool | rlc_um_read_data_pdu_header (const byte_buffer_view &pdu, const rlc_um_sn_size sn_size, rlc_um_pdu_header *header) |
| size_t | rlc_um_nr_packed_length (const rlc_um_pdu_header &header) |
| size_t | rlc_um_write_data_pdu_header (span< uint8_t > buf, const rlc_um_pdu_header &header) |
| std::shared_ptr< lower_phy_factory > | create_lower_phy_factory (lower_phy_configuration &config, unsigned max_nof_prach_concurrent_requests) |
| Helper class that creates the lower PHY factory using the given configuration. | |
| bool | is_valid (const ru_generic_configuration &config) |
| Helper function that validates the pointer members of the given Radio Unit configuration. Returns true on success, otherwise false. | |
| crb_interval | get_carrier_rb_dims (const scs_specific_carrier &carrier_cfg) |
| Derives Carrier CRB limits from scs-SpecificCarrier. | |
| template<typename Other > | |
| bwp_rb_bitmap | operator| (const bwp_rb_bitmap &lhs, const Other &rhs) |
| void | build_dci_f1_0_si_rnti (dci_dl_info &dci, const bwp_downlink_common &init_dl_bwp, crb_interval crbs, unsigned time_resource, sch_mcs_index mcs_index, uint8_t si_indicator) |
| Builds DCI f1_0 for SI-RNTI used in SIBs. | |
| void | build_dci_f1_0_p_rnti (dci_dl_info &dci, const bwp_downlink_common &init_dl_bwp, crb_interval crbs, unsigned time_resource, sch_mcs_index mcs_index) |
| Builds DCI f1_0 for P-RNTI used in PCCHs. | |
| void | build_dci_f1_0_ra_rnti (dci_dl_info &dci, const bwp_downlink_common &init_dl_bwp, crb_interval crbs, unsigned time_resource, sch_mcs_index mcs_index) |
| Builds DCI f1_0 for RA-RNTI used in RAR. | |
| void | build_dci_f1_0_tc_rnti (dci_dl_info &dci, const bwp_downlink_common &init_dl_bwp, crb_interval crbs, unsigned time_resource, unsigned k1, unsigned pucch_res_indicator, sch_mcs_index mcs_index, uint8_t rv, const dl_harq_process &h_dl) |
| Builds DCI f1_0 for TC-RNTI, used for instance in Msg4. | |
| void | build_dci_f1_0_c_rnti (dci_dl_info &dci, const ue_cell_configuration &ue_cell_cfg, search_space_id ss_id, crb_interval crbs, unsigned time_resource, unsigned k1, unsigned pucch_res_indicator, unsigned dai, sch_mcs_index mcs_index, uint8_t rv, const dl_harq_process &h_dl) |
| Builds DCI f1_0 for C-RNTI. | |
| void | build_dci_f1_1_c_rnti (dci_dl_info &dci, const ue_cell_configuration &ue_cell_cfg, search_space_id ss_id, prb_interval prbs, unsigned time_resource, unsigned k1, unsigned pucch_res_indicator, unsigned dai, sch_mcs_index tb1_mcs_index, uint8_t rv, const dl_harq_process &h_dl, unsigned nof_layers) |
| Builds DCI f1_1 for C-RNTI. | |
| void | build_dci_f0_0_tc_rnti (dci_ul_info &dci, const bwp_downlink_common &init_dl_bwp, const bwp_configuration &ul_bwp, const crb_interval &crbs, unsigned time_resource, sch_mcs_index mcs_index, uint8_t rv, const ul_harq_process &h_ul) |
| Builds DCI f0_0 for TC-RNTI, used in Msg3 retxs. | |
| void | build_dci_f0_0_c_rnti (dci_ul_info &dci, const ue_cell_configuration &ue_cell_cfg, search_space_id ss_id, const crb_interval &crbs, unsigned time_resource, sch_mcs_index mcs_index, uint8_t rv, const ul_harq_process &h_ul) |
| Builds DCI f0_0 for C-RNTI. | |
| void | build_dci_f0_1_c_rnti (dci_ul_info &dci, const ue_cell_configuration &ue_cell_cfg, search_space_id ss_id, const crb_interval &crbs, unsigned time_resource, sch_mcs_index mcs_index, uint8_t rv, const ul_harq_process &h_ul, unsigned total_dai, unsigned nof_layers) |
| Builds DCI f0_1 for C-RNTI. | |
| unsigned | calculate_nof_dmrs_per_rb (const dmrs_information &dmrs) |
| Calculates the number of RE used for DMRS per RB in PDSCH and PUSCH transmissions. | |
| dmrs_information | make_dmrs_info_common (const pdsch_time_domain_resource_allocation &pdsch_td_cfg, pci_t pci, dmrs_typeA_position dmrs_typeA_pos) |
| dmrs_information | make_dmrs_info_dedicated (const pdsch_time_domain_resource_allocation &pdsch_td_cfg, pci_t pci, dmrs_typeA_position dmrs_typeA_pos, const dmrs_downlink_config &dmrs_dl_cfg_ded, unsigned nof_layers, unsigned nof_dl_antenna_ports, bool are_both_cws_enabled) |
| dmrs_information | make_dmrs_info_common (span< const pdsch_time_domain_resource_allocation > pdsch_td_list, uint8_t time_resource, pci_t pci, dmrs_typeA_position dmrs_typeA_pos) |
| dmrs_information | make_dmrs_info_common (const pusch_time_domain_resource_allocation &pusch_td_cfg, pci_t pci, dmrs_typeA_position dmrs_typeA_pos) |
| dmrs_information | make_dmrs_info_dedicated (const pusch_time_domain_resource_allocation &pusch_td_cfg, pci_t pci, dmrs_typeA_position dmrs_typeA_pos, const dmrs_uplink_config &dmrs_ul_cfg, unsigned nof_layers, unsigned nof_ul_antenna_ports, bool are_both_cws_enabled) |
| dmrs_information | make_dmrs_info_common (const pusch_config_common &pusch_cfg, uint8_t time_resource, pci_t pci, dmrs_typeA_position dmrs_typeA_pos) |
| slot_point | precompute_type0_pdcch_css_n0 (uint8_t searchspace0, uint8_t coreset0, const cell_configuration &cell_cfg, subcarrier_spacing scs_common, unsigned ssb_index) |
| Computes the Type0-PDCCH CSS n0 slot for each beam [TS 38.213, Section 13]. | |
| slot_point | precompute_type0_pdcch_css_n0_plus_1 (uint8_t searchspace0, uint8_t coreset0, const cell_configuration &cell_cfg, subcarrier_spacing scs_common, unsigned ssb_index) |
| Computes the Type0-PDCCH CSS n0 + 1 slot for each beam [TS 38.213, Section 13]. | |
| pdsch_default_time_allocation_config | pdsch_default_time_allocation_default_A_get (cyclic_prefix cp, unsigned row_index, dmrs_typeA_position dmrs_pos) |
| Determines the default PDSCH time-domain resource allocation A. | |
| span< const pdsch_time_domain_resource_allocation > | pdsch_default_time_allocations_default_A_table (cyclic_prefix cp, dmrs_typeA_position dmrs_pos) |
| Determines the table of default PDSCH time-domain resource allocation A. | |
| span< const pdsch_time_domain_resource_allocation > | get_c_rnti_pdsch_time_domain_list (const search_space_configuration &ss_cfg, const bwp_downlink_common &active_bwp_dl_common, const bwp_downlink_dedicated *active_bwp_dl_ded, dmrs_typeA_position dmrs_typeA_pos) |
| Determines the time domain resource allocation table to be used for PDSCH as per TS 38.214, clause 5.1.2.1.1. | |
| span< const pdsch_time_domain_resource_allocation > | get_si_rnti_pdsch_time_domain_list (cyclic_prefix cp, dmrs_typeA_position dmrs_typeA_pos) |
| Determines the time domain resource allocation table to be used for PDSCH scheduled with SI-RNTI Type0 common as per TS 38.214, clause 5.1.2.1.1-1. | |
| span< const pdsch_time_domain_resource_allocation > | get_si_rnti_type0A_common_pdsch_time_domain_list (const pdsch_config_common &pdsch_common, cyclic_prefix cp, dmrs_typeA_position dmrs_typeA_pos) |
| Determines the time domain resource allocation table to be used for PDSCH scheduled with SI-RNTI Type0A common as per TS 38.214, clause 5.1.2.1.1-1. | |
| span< const pdsch_time_domain_resource_allocation > | get_ra_rnti_pdsch_time_domain_list (const pdsch_config_common &pdsch_common, cyclic_prefix cp, dmrs_typeA_position dmrs_typeA_pos) |
| Determines the time domain resource allocation table to be used for PDSCH scheduled with RA-RNTI as per TS 38.214, clause 5.1.2.1.1-1. | |
| sch_prbs_tbs | get_nof_prbs (const prbs_calculator_sch_config &sch_config, unsigned max_nof_available_rbs=273U) |
| Computes the required number of PRBs necessary to transmit a given payload size. | |
| unsigned | estimate_required_nof_prbs (const prbs_calculator_sch_config &sch_config, unsigned max_nof_available_rbs=273U) |
| Computes a coarse estimate of the number of required PRBs to transmit a given payload size. This estimate might lead to a TBS that is smaller or larger than the given payload size. | |
| pdsch_config_params | get_pdsch_config_f1_0_tc_rnti (const cell_configuration &cell_cfg, const pdsch_time_domain_resource_allocation &pdsch_td_cfg) |
| Fetches the PDSCH parameters needed for PDSCH PDU for DCI format 1_0, scrambled by TC-RNTI. | |
| pdsch_config_params | get_pdsch_config_f1_0_c_rnti (const ue_cell_configuration &ue_cell_cfg, const pdsch_time_domain_resource_allocation &pdsch_td_cfg) |
| Fetches the PDSCH parameters needed for PUSCH PDU for DCI format 1_0, scrambled by C-RNTI. | |
| pdsch_config_params | get_pdsch_config_f1_1_c_rnti (const ue_cell_configuration &ue_cell_cfg, const pdsch_time_domain_resource_allocation &pdsch_td_cfg, unsigned nof_layers) |
| Fetches the PDSCH parameters needed for PUSCH PDU for DCI format 1_1, scrambled by C-RNTI. | |
| pusch_config_params | get_pusch_config_f0_0_tc_rnti (const cell_configuration &cell_cfg, const pusch_time_domain_resource_allocation &pusch_td_cfg) |
| Fetches the PUSCH parameters needed for PUSCH PDU for DCI format 0_0, scrambled by TC-RNTI. | |
| pusch_config_params | get_pusch_config_f0_0_c_rnti (const ue_cell_configuration &ue_cell_cfg, const bwp_uplink_common &ul_bwp, const pusch_time_domain_resource_allocation &pusch_td_cfg, const unsigned nof_harq_ack_bits, bool is_csi_report_slot) |
| Fetches the PUSCH parameters needed for PUSCH PDU for DCI format 0_0, scrambled by C-RNTI. | |
| pusch_config_params | get_pusch_config_f0_1_c_rnti (const ue_cell_configuration &ue_cell_cfg, const pusch_time_domain_resource_allocation &pusch_td_cfg, unsigned nof_layers, const unsigned nof_harq_ack_bits, bool is_csi_report_slot) |
| Fetches the PUSCH parameters needed for PUSCH PDU for DCI format 0_1, scrambled by C-RNTI. | |
| void | build_pdsch_f1_0_si_rnti (pdsch_information &pdsch, const cell_configuration &cell_cfg, unsigned tbs_bytes, const dci_1_0_si_rnti_configuration &dci_cfg, const crb_interval &crbs, const ofdm_symbol_range &symbols, const dmrs_information &dmrs_info) |
| Builds PDSCH PDU for DCI format 1_0, scrambled by SI-RNTI. | |
| void | build_pdsch_f1_0_p_rnti (pdsch_information &pdsch, const cell_configuration &cell_cfg, unsigned tbs_bytes, const dci_1_0_p_rnti_configuration &dci_cfg, const crb_interval &crbs, const ofdm_symbol_range &symbols, const dmrs_information &dmrs_info) |
| Builds PDSCH PDU for DCI format 1_0, scrambled by P-RNTI. | |
| void | build_pdsch_f1_0_ra_rnti (pdsch_information &pdsch, unsigned tbs_bytes, rnti_t rnti, const cell_configuration &cell_cfg, const dci_1_0_ra_rnti_configuration &dci_cfg, const crb_interval &crbs, const dmrs_information &dmrs_info) |
| Builds PDSCH PDU for DCI format 1_0, scrambled by RA-RNTI. | |
| void | build_pdsch_f1_0_tc_rnti (pdsch_information &pdsch, const pdsch_config_params &pdsch_cfg, unsigned tbs_bytes, rnti_t rnti, const cell_configuration &cell_cfg, const dci_1_0_tc_rnti_configuration &dci_cfg, const crb_interval &crbs, bool is_new_data) |
| Builds PDSCH PDU for DCI format 1_0, scrambled by TC-RNTI. | |
| void | build_pdsch_f1_0_c_rnti (pdsch_information &pdsch, const pdsch_config_params &pdsch_cfg, unsigned tbs_bytes, rnti_t rnti, const ue_cell_configuration &ue_cell_cfg, search_space_id ss_id, const dci_1_0_c_rnti_configuration &dci_cfg, const crb_interval &crbs, bool is_new_data) |
| Builds PDSCH PDU for DCI format 1_0, scrambled by C-RNTI. | |
| void | build_pdsch_f1_1_c_rnti (pdsch_information &pdsch, const pdsch_config_params &pdsch_cfg, sch_mcs_tbs mcs_tbs_info, rnti_t rnti, const ue_cell_configuration &ue_cell_cfg, search_space_id ss_id, const dci_1_1_configuration &dci_cfg, const crb_interval &crbs, const dl_harq_process &h_dl, const ue_channel_state_manager &cs_mgr) |
| Builds PDSCH PDU for DCI format 1_1, scrambled by C-RNTI. | |
| void | build_pusch_f0_0_tc_rnti (pusch_information &pusch, const pusch_config_params &pusch_cfg, unsigned tbs_bytes, rnti_t rnti, const cell_configuration &cell_cfg, const dci_0_0_tc_rnti_configuration &dci_cfg, const crb_interval &crbs, bool is_new_data) |
| Builds PUSCH PDU for DCI format 0_0, scrambled by TC-RNTI. | |
| void | build_pusch_f0_0_c_rnti (pusch_information &pusch, rnti_t rnti, const pusch_config_params &pusch_cfg, unsigned tbs_bytes, const cell_configuration &cell_cfg, const bwp_uplink_common &ul_bwp, const dci_0_0_c_rnti_configuration &dci_cfg, const crb_interval &crbs, bool is_new_data) |
| Builds PUSCH PDU for DCI format 0_0, scrambled by C-RNTI. | |
| void | build_pusch_f0_1_c_rnti (pusch_information &pusch, rnti_t rnti, const pusch_config_params &pusch_cfg, sch_mcs_tbs mcs_tbs_info, const ue_cell_configuration &ue_cell_cfg, search_space_id ss_id, const dci_0_1_configuration &dci_cfg, const crb_interval &crbs, const ul_harq_process &h_ul) |
| Builds PUSCH PDU for DCI format 0_1, scrambled by C-RNTI. | |
| bool | is_nth_ssb_beam_active (uint64_t ssb_bitmap, unsigned ssb_index) |
| Helper function that determines from SSB bitmap whether n-th beam is used. | |
| unsigned | get_msg3_delay (const pusch_time_domain_resource_allocation &pusch_td_res_alloc, subcarrier_spacing pusch_scs) |
| uint16_t | get_ra_rnti (unsigned slot_index, unsigned symbol_index, unsigned frequency_index, bool is_sul=false) |
| Computes the RA-RNTI based on PRACH parameters, as per TS 38.321, Section 5.1.3. | |
| void | save_harq_alloc_params (ul_harq_process::alloc_params &ul_alloc, bwp_id_t bwp_id, dci_ul_rnti_config_type dci_cfg_type, unsigned time_resource, const pusch_information &pusch) |
| Helper function to fill HARQ allocation grant parameters. | |
| dmrs_symbol_mask | pdsch_dmrs_symbol_mask_mapping_type_A_single_get (const pdsch_dmrs_symbol_mask_mapping_type_A_single_configuration &config) |
| Calculates the DMRS for PDSCH symbol mask for single duration. | |
| optional< sch_mcs_tbs > | compute_dl_mcs_tbs (const pdsch_config_params &pdsch_params, const ue_cell_configuration &ue_cell_cfg, sch_mcs_index max_mcs, unsigned nof_prbs) |
| Computes the PDSCH MCS and TBS such that the effective code rate does not exceed 0.95. | |
| optional< sch_mcs_tbs > | compute_ul_mcs_tbs (const pusch_config_params &pusch_params, const ue_cell_configuration &ue_cell_cfg, sch_mcs_index max_mcs, unsigned nof_prbs) |
| Computes the PUSCH MCS and TBS such that the effective code rate does not exceed 0.95. | |
| span< const pusch_time_domain_resource_allocation > | get_pusch_time_domain_resource_table (const pusch_config_common &pusch_cfg) |
| unsigned | get_coreset_nof_prbs (const coreset_configuration &cs_cfg) |
| Computes the number of RBs used to represent the CORESET. | |
| unsigned | get_coreset_end_crb (const coreset_configuration &cs_cfg) |
| Computes the highest RB used by the CORESET. | |
| crb_interval | get_coreset_crbs (const coreset_configuration &cs_cfg) |
| Computes the CRB interval that delimits CORESET. | |
| crb_interval | get_coreset0_crbs (const pdcch_config_common &pdcch_cfg) |
| Computes the CRB interval that delimits CORESET#0. | |
| pusch_default_time_allocation_config | pusch_default_time_allocation_default_A_get (cyclic_prefix cp, unsigned row_index, subcarrier_spacing scs) |
| Determines the default PUSCH time-domain resource allocation A. | |
| span< const pusch_time_domain_resource_allocation > | pusch_default_time_allocations_default_A_table (cyclic_prefix cp, subcarrier_spacing scs) |
| Determines the table of default PUSCH time-domain resource allocation A. | |
| span< const pusch_time_domain_resource_allocation > | get_c_rnti_pusch_time_domain_list (const search_space_configuration &ss_cfg, const bwp_uplink_common &active_bwp_ul_common, const bwp_uplink_dedicated *active_bwp_ul_ded) |
| Determines the time domain resource allocation table to be used for PUSCH as per TS 38.214, clause 6.1.2.1.1. | |
| unsigned | get_scrambling_n_ID (pci_t pci, const coreset_configuration &cs_cfg, const search_space_configuration &ss_cfg) |
| unsigned | get_scrambling_n_RNTI (rnti_t rnti, const coreset_configuration &cs_cfg, const search_space_configuration &ss_cfg) |
| unsigned | get_N_ID_dmrs (pci_t pci, const coreset_configuration &cs_cfg) |
Calculates ![]() | |
| unsigned | prb_to_crb (const bwp_configuration &bwp_cfg, unsigned prb) |
| Convert PRB within a BWP into a Common RB, which use pointA as reference point. The CRB and PRB are assumed to have the same numerology of the provided BWP configuration. The existence of a CORESET#0 may also affect the rules for CRB<->PRB conversion. | |
| crb_interval | prb_to_crb (const bwp_configuration &bwp_cfg, prb_interval prbs) |
| unsigned | crb_to_prb (const bwp_configuration &bwp_cfg, unsigned crb) |
| Convert CRB within a BWP into a PRB. The CRB and PRB are assumed to use the same numerology as reference. | |
| prb_interval | crb_to_prb (const bwp_configuration &bwp_cfg, crb_interval crbs) |
| constexpr unsigned | get_allocator_ring_size_gt_min (unsigned minimum_value) |
| Retrieves the resource grid allocator ring size greater than given minimum value. | |
| std::unique_ptr< scheduler_policy > | create_scheduler_strategy (const scheduler_strategy_params ¶ms) |
| unsigned | get_pucch_default_resource_index (unsigned n_cce, unsigned nof_cce, unsigned delta_pri) |
Calculates the default PUCCH resource index ![]() | |
| std::pair< unsigned, unsigned > | get_pucch_default_prb_index (unsigned r_pucch, unsigned rb_bwp_offset, unsigned nof_cs, unsigned N_bwp_size) |
| Gets the PRB indexes for PUCCH resource before dedicated PUCCH as per TS38.213 Section 9.2.1. | |
| unsigned | get_pucch_default_cyclic_shift (unsigned r_pucch, unsigned nof_cs) |
| Gets the PUCCH cyclic shift for PUCCH resource before dedicated PUCCH as per TS38.213 Section 9.2.1. | |
| pucch_default_resource | get_pucch_default_resource (unsigned row_index, unsigned N_bwp_size) |
| Gets the PUCCH resource parameters before dedicated PUCCH resources are configured. | |
| optional< sch_mcs_index > | map_cqi_to_mcs (unsigned cqi, pdsch_mcs_table mcs_table) |
| Performs CQI to MCS mapping - for DL. | |
| sch_mcs_index | map_snr_to_mcs_ul (double snr, pusch_mcs_table mcs_table) |
| Maps the (PUSCH) SNR to a given MCS for PUSCH. | |
| sch_mcs_index | get_max_mcs_ul (pusch_mcs_table mcs_table) |
| Retrieves the maximum MCS value for a given MCS table. | |
| aggregation_level | map_cqi_to_aggregation_level (cqi_value cqi, cqi_table_t cqi_table, span< const uint8_t > pdcch_candidates, unsigned nof_dci_bits) |
| Computes PDCCH aggregation level to use based on the input parameters. | |
| dmrs_symbol_mask | pusch_dmrs_symbol_mask_mapping_type_A_single_get (const pusch_dmrs_symbol_mask_mapping_type_A_single_configuration &config) |
| Calculates the DM-RS for PUSCH symbol mask for single duration. | |
| unsigned | allocate_mac_sdus (dl_msg_tb_info &tb_info, dl_logical_channel_manager &lch_mng, unsigned total_tbs) |
| Allocate MAC SDUs and corresponding MAC subPDU subheaders. | |
| unsigned | allocate_mac_ces (dl_msg_tb_info &tb_info, dl_logical_channel_manager &lch_mng, unsigned total_tbs) |
| Allocate MAC subPDUs for pending MAC CEs. | |
| unsigned | allocate_ue_con_res_id_mac_ce (dl_msg_tb_info &tb_info, dl_logical_channel_manager &lch_mng, unsigned total_tbs) |
| Allocate MAC subPDUs for pending UE Contention Resolution Identity MAC CE. | |
| constexpr bool | is_alignment_valid (std::size_t alignment) |
| Checks if alignment is power of 2. | |
| constexpr bool | is_aligned (std::uintptr_t ptr, std::size_t alignment) |
| Checks whether the pointer is set with the correct alignment. | |
| bool | is_aligned (void *ptr, std::size_t alignment) |
| constexpr void * | advance_ptr (void *pos, std::size_t sz) |
| Moves the pointer by the given size in bytes. | |
| constexpr std::uintptr_t | align_next (std::uintptr_t pos, std::size_t alignment) |
| Moves the pointer to the next aligned position. | |
| void * | align_next (void *pos, std::size_t alignment) |
| template<typename Exec , typename Tracer > | |
| executor_tracer< Exec, Tracer > | make_trace_executor (const std::string &name, Exec &&exec, Tracer &tracer) |
| template<typename Exec , typename Tracer > | |
| std::unique_ptr< task_executor > | make_trace_executor_ptr (const std::string &name, Exec &&exec, Tracer &tracer) |
| template<task_priority Priority, concurrent_queue_policy... QueuePolicies> | |
| auto | make_priority_task_worker_executor (priority_task_worker< QueuePolicies... > &worker) |
Create task executor with Priority for priority_multiqueue_task_worker. | |
| template<task_priority Priority, concurrent_queue_policy... QueuePolicies> | |
| std::unique_ptr< task_executor > | make_priority_task_executor_ptr (priority_task_worker< QueuePolicies... > &worker) |
Create general task executor pointer with Priority for priority_multiqueue_task_worker. | |
| template<typename Func , concurrent_queue_policy... QueuePolicies> | |
| void | visit_executor (priority_task_worker< QueuePolicies... > &worker, task_priority priority, const Func &func) |
Create general task executor pointer with Priority for priority_multiqueue_task_worker. | |
| template<concurrent_queue_policy... QueuePolicies> | |
| std::unique_ptr< task_executor > | make_priority_task_executor_ptr (priority_task_worker< QueuePolicies... > &worker, task_priority priority) |
Create general task executor pointer with Priority for priority_multiqueue_task_worker. | |
| template<concurrent_queue_policy QueuePolicy, typename OutExec > | |
| std::unique_ptr< task_strand< OutExec, QueuePolicy > > | make_task_strand_ptr (OutExec &&out_exec, unsigned strand_queue_size) |
| Creates a task strand instance given a list of parameters. | |
| template<concurrent_queue_policy... QueuePolicies, typename OutExec > | |
| std::unique_ptr< task_strand< OutExec, QueuePolicies... > > | make_task_strand_ptr (OutExec &&out_exec, span< const unsigned > strand_queue_sizes) |
| template<concurrent_queue_policy QueuePolicy, typename OutExec > | |
| std::unique_ptr< task_executor > | make_strand_executor_ptr (OutExec &&out_exec, unsigned queue_size) |
| Make a strand executor that manages the lifetime of a strand with a single queue. | |
| template<concurrent_queue_policy... QueuePolicies, typename OutExec > | |
| std::vector< std::unique_ptr< task_executor > > | make_strand_executor_ptrs (OutExec &&out_exec, span< const unsigned > qsizes) |
| Create all executors associated with a given strand. The executors will manage the strand lifetime via reference counting. | |
| template<typename OutExec > | |
| std::vector< std::unique_ptr< task_executor > > | make_strand_executor_ptrs (OutExec &&out_exec, span< const concurrent_queue_params > strand_queues) |
| Creates a list of task executors associated with a strand that points to the provided out executor. | |
| template<enqueue_priority Priority, concurrent_queue_policy... QueuePolicies> | |
| auto | make_priority_task_worker_pool_executor (task_worker_pool< QueuePolicies... > &worker) |
Create task executor with Priority for task_worker_pool that supports multiple priorities. | |
| template<enqueue_priority Priority, concurrent_queue_policy... QueuePolicies> | |
| std::unique_ptr< task_executor > | make_priority_task_worker_pool_executor_ptr (task_worker_pool< QueuePolicies... > &worker) |
Create general task executor pointer with Priority for task_worker_pool that supports multiple priorities. | |
| template<typename Func , concurrent_queue_policy... QueuePolicies> | |
| void | visit_executor (task_worker_pool< QueuePolicies... > &worker, enqueue_priority priority, const Func &func) |
Create general task executor pointer with Priority for priority_task_worker_pool. | |
| template<typename ComplexType1 > | |
| bool | operator== (const complex_normal_distribution< ComplexType1 > &distr1, const complex_normal_distribution< ComplexType1 > &distr2) |
| template<typename ComplexType > | |
| bool | operator!= (const complex_normal_distribution< ComplexType > &distr1, const complex_normal_distribution< ComplexType > &distr2) |
| Checks whether two complex normal distributions are different. | |
| constexpr uint8_t | psup_pdu_type_to_uint (psup_pdu_type pdu_type) |
| Convert PSUP PDU Type to integer. | |
| constexpr psup_pdu_type | uint_to_psup_pdu_type (uint8_t num) |
| Convert integer to PSUP PDU Type. | |
| constexpr uint8_t | psup_ppi_to_uint (psup_ppi ppi) |
| Convert PSUP Paging Policy Indicator to integer. | |
| constexpr psup_ppi | uint_to_psup_ppi (uint8_t num) |
| Convert integer to PSUP Paging Policy Indicator. | |
| template<typename T > | |
| std::enable_if_t<!std::is_trivially_copyable< T >::value||(sizeof(T) > sizeof(T *))> | do_not_optimize (T const &value) |
| template<typename T > | |
| std::enable_if_t< std::is_trivially_copyable< T >::value &&(sizeof(T)<=sizeof(T *))> | do_not_optimize (T &value) |
| template<typename T > | |
| std::enable_if_t<!std::is_trivially_copyable< T >::value||(sizeof(T) > sizeof(T *))> | do_not_optimize (T &value) |
| template<typename T > | |
| bool | print (const char *filename, span< const T > data, std::ios_base::openmode mode=std::ios_base::binary|std::ios_base::out) |
| Writes the given span into a file in binary format. | |
| ph_db_range | ph_to_db_range (unsigned ph) |
| Converts PH value reported by UE to dB interval based on mapping defined in Table 10.1.17.1-1 of TS 38.133. | |
| p_cmax_dbm_range | p_cmax_to_dbm_range (unsigned p_cmax) |
| Converts P_CMAX,f,c value reported by UE to dBm interval based on mapping defined in Table 10.1.18.1-1 of TS 38.133. | |
| phr_report | decode_se_phr (byte_buffer_view payload) |
| Decode Single Entry PHR. | |
| constexpr size_t | pdcp_data_pdu_header_size (pdcp_sn_size sn_size) |
| constexpr uint32_t | pdcp_window_size (pdcp_sn_size sn_size) |
| constexpr uint32_t | pdcp_compute_sn (uint32_t count, pdcp_sn_size sn_size) |
| constexpr uint32_t | pdcp_compute_hfn (uint32_t count, pdcp_sn_size sn_size) |
| constexpr uint32_t | pdcp_compute_count (uint32_t hfn, uint32_t sn, pdcp_sn_size sn_size) |
| constexpr uint32_t | pdcp_sn_cardinality (pdcp_sn_size sn_size) |
Variables | |
| const size_t | NOF_NUMEROLOGIES = 5 |
| Number of possible numerology values. | |
| const std::array< nr_band, 60 > | all_nr_bands_fr1 |
| constexpr size_t | default_unique_function_buffer_size = 32 |
| Size of the small buffer embedded in "unique_function<R(Args...)>", used to store functors without calling "new". | |
| constexpr size_t | default_unique_task_buffer_size = 64 |
| constexpr uint16_t | NGAP_PPID = 60 |
| constexpr uint16_t | E2_CP_PPID = 70 |
| constexpr uint16_t | E2_UP_PPID = 71 |
| constexpr uint16_t | E2_DU_PPID = 72 |
| constexpr nullopt_t | nullopt {0} |
| Initializer for empty optional objects. | |
| constexpr uint8_t | PCAP_RLC_TM_MODE = 1 |
| constexpr uint8_t | PCAP_RLC_UM_MODE = 2 |
| constexpr uint8_t | PCAP_RLC_AM_MODE = 4 |
| constexpr uint8_t | PCAP_RLC_DIRECTION_UPLINK = 0 |
| constexpr uint8_t | PCAP_RLC_DIRECTION_DOWNLINK = 1 |
| constexpr uint8_t | PCAP_RLC_BEARER_TYPE_CCCH = 1 |
| constexpr uint8_t | PCAP_RLC_BEARER_TYPE_SRB = 4 |
| constexpr uint8_t | PCAP_RLC_BEARER_TYPE_DRB = 5 |
| constexpr uint8_t | PCAP_RLC_TM_SN_LENGTH_0_BITS = 0 |
| constexpr uint8_t | PCAP_RLC_UM_SN_LENGTH_6_BITS = 6 |
| constexpr uint8_t | PCAP_RLC_UM_SN_LENGTH_12_BITS = 12 |
| constexpr uint8_t | PCAP_RLC_AM_SN_LENGTH_12_BITS = 12 |
| constexpr uint8_t | PCAP_RLC_AM_SN_LENGTH_18_BITS = 18 |
| constexpr uint32_t | NOF_SUBFRAMES_PER_FRAME = 10 |
| Number of subframers per frame. This constant doesn't depend on the numerology used. | |
| constexpr size_t | NOF_SFNS = 1024 |
| Number of system Frame Number values. | |
| constexpr uint32_t | SUBFRAME_DURATION_MSEC = 1 |
| Duration of a subframe in milliseconds. | |
| const unsigned | NOF_SSB_PRBS = 20 |
| constexpr lcid_t | MAX_LCID = LCID_MAX_DRB |
| constexpr std::size_t | MAX_NOF_SRBS = 4 |
| constexpr pci_t | MIN_PCI = 0 |
| constexpr pci_t | MAX_PCI = 1007 |
| constexpr pci_t | INVALID_PCI = MAX_PCI + 1 |
| constexpr size_t | MAX_NOF_SEARCH_SPACE_PER_BWP = 10 |
| constexpr size_t | MAX_NOF_PUCCH_RESOURCE_SETS = 4 |
| constexpr size_t | MAX_NOF_PUCCH_RESOURCES = 128 |
| constexpr size_t | MAX_NOF_PUCCH_RESOURCES_PER_PUCCH_RESOURCE_SET = 32 |
| constexpr std::size_t | MAX_NOF_PRBS = 275 |
| constexpr std::size_t | NOF_SUBCARRIERS_PER_RB = 12 |
| See TS 38.211, 4.4.4.1 - Resource Blocks, General. | |
| const unsigned | NOF_OFDM_SYM_PER_SLOT_NORMAL_CP = 14 |
| The number of OFDM symbols per slot is constant for all numerologies. | |
| const unsigned | NOF_OFDM_SYM_PER_SLOT_EXTENDED_CP = 12 |
| constexpr size_t | MAX_NOF_CORESETS_PER_BWP = 3 |
| const size_t | MAX_NOF_LAYERS = 2 |
| Maximum number of layers (implementation-defined) | |
| const unsigned | FR1_MAX_FREQUENCY_ARFCN = 875000 |
| const unsigned | CUTOFF_FREQ_ARFCN_CASE_A_B_C = 600000 |
| The cutoff frequency for case A, B and C paired is 3GHz, corresponding to 600000 ARFCN (TS 38.213, Section 4.1). | |
| const unsigned | CUTOFF_FREQ_ARFCN_CASE_C_UNPAIRED = 376000 |
| The cutoff frequency for case C unpaired is 1.88GHz, corresponding to 376000 ARFCN (TS 38.213, Section 4.1). | |
| const unsigned | NOF_SSB_OFDM_SYMBOLS = 4 |
| const unsigned | SIB1_PERIODICITY = 160 |
| const unsigned | MAX_NUM_BEAMS = 8 |
| const unsigned | SCHEDULER_MAX_K0 = 15 |
| [Implementation defined] Maximum allowed slot offset between DCI and its scheduled PDSCH. Values {0,..,32}. | |
| const unsigned | SCHEDULER_MAX_K1 = 15 |
| [Implementation defined] Maximum allowed slot offset between PDSCH to the DL ACK/NACK. Values {0,..,15}. | |
| const unsigned | SCHEDULER_MAX_K2 = 15 |
| [Implementation defined] Maximum allowed slot offset between DCI and its scheduled first PUSCH. Values {0,..,32}. | |
| const unsigned | NTN_CELL_SPECIFIC_KOFFSET_MAX = 512 |
| Maximum value of NTN cell specific Koffset. See TS 38.331. | |
| const unsigned | MAX_MSG3_DELTA = 6 |
| Maximum value of Msg delta. See table 6.1.2.1.1-5, in TS 38.214. | |
| const unsigned | MAX_NOF_PDSCH_TD_RESOURCE_ALLOCATIONS = 16 |
Maximum number of PDSCH time domain resource allocations. See TS 38.331, maxNrofDL-Allocations. | |
| constexpr size_t | MAX_NOF_SR_RESOURCES = 8 |
| constexpr uint16_t | pdcp_max_sdu_size = 9000 |
| Maximum supported PDCP SDU size, see TS 38.323, section 4.3.1. | |
| const uint32_t | pdcp_tx_default_max_count_notify = 0xc0000000 |
| const uint32_t | pdcp_tx_default_max_count_hard = UINT32_MAX - 1 |
| const uint32_t | pdcp_rx_default_max_count_notify = 0xc0000000 |
| const uint32_t | pdcp_rx_default_max_count_hard = 0xd0000000 |
| constexpr size_t | NOF_BEAMS = 64 |
| Maximum number of SS/PBCH beams in a SS/PBCH period as per TS38.213 Section 4.1. | |
| constexpr unsigned | GTPU_PORT = 2152 |
| constexpr uint8_t | PCAP_FDD_RADIO = 1 |
| constexpr uint8_t | PCAP_TDD_RADIO = 2 |
| constexpr uint8_t | PCAP_DIRECTION_UPLINK = 0 |
| constexpr uint8_t | PCAP_DIRECTION_DOWNLINK = 1 |
| constexpr uint8_t | PCAP_NO_RNTI = 0 |
| constexpr uint8_t | PCAP_P_RNTI = 1 |
| constexpr uint8_t | PCAP_RA_RNTI = 2 |
| constexpr uint8_t | PCAP_C_RNTI = 3 |
| constexpr uint8_t | PCAP_SI_RNTI = 4 |
| constexpr uint8_t | PCAP_SPS_RNTI = 5 |
| constexpr uint8_t | PCAP_M_RNTI = 6 |
| constexpr uint8_t | PCAP_SL_BCH_RNTI = 7 |
| constexpr uint8_t | PCAP_SL_RNTI = 8 |
| constexpr uint8_t | PCAP_SC_RNTI = 9 |
| constexpr uint8_t | PCAP_G_RNTI = 10 |
| const size_t | NOF_AGGREGATION_LEVELS = 5 |
| Number of possible aggregation levels. | |
| constexpr int | MAX_UE_METRICS = 10 |
| constexpr protocol_transaction_id_t | invalid_protocol_transaction_id |
| Invalid transaction id. | |
| const unsigned | MAX_NOF_TAGS = 4 |
maxNrofTAGs, TS 38.331. | |
| constexpr gtpu_teid_t | GTPU_PATH_MANAGEMENT_TEID = int_to_gtpu_teid(0) |
| TEID for path management messages via GTP-U, e.g. echo request, echo response,... | |
| constexpr uint8_t | nru_max_nof_pdcp_sn_discard_blocks = 16 |
| constexpr uint8_t | nru_max_nof_lost_nru_sn_ranges = 1 |
| const size_t | MAX_NOF_RBGS = 18 |
| const size_t | MAX_SI_MESSAGES = 32 |
| Maximum number of SI messages that can be scheduled as per TS 38.331, "maxSI-Message". | |
| const size_t | NOF_E2SM_RC_CTRL_SERVICE_STYLES = 11 |
| Number of E2SM-RC Control Styles defined in O-RAN.WG3.E2SM-RC-R003-v03.00. | |
| const size_t | NOF_3GPP_TS_28_552_METRICS = 278 |
| Number of E2SM-KPM metrics defined in 3GPP TS 28.552. | |
| const size_t | NOF_ORAN_E2SM_KPM_METRICS = 9 |
| Number of E2SM-KPM metrics defined in O-RAN.WG3.E2SM-KPM-R003-v3.00. | |
| constexpr bool | L1_TRACE_ENABLED = false |
| Set to true for enabling layer 1 trace. | |
| constexpr bool | L2_TRACE_ENABLED = false |
| Set to true for enabling layer 2 trace. | |
| file_event_tracer< L1_TRACE_ENABLED > | l1_tracer |
| L1 event tracing. This tracer is used to analyze latencies in the L1 processing. | |
| file_event_tracer< L2_TRACE_ENABLED > | l2_tracer |
| L2 event tracing. This tracer is used to analyze latencies in the L2 processing of slot indications. | |
| constexpr uint32_t | network_gateway_sctp_max_len = 9100 |
| constexpr uint32_t | network_gateway_udp_max_len = 9100 |
| constexpr unsigned | GTPU_BASE_HEADER_LEN = 8 |
| constexpr unsigned | GTPU_EXTENDED_HEADER_LEN = 12 |
| constexpr unsigned | GTPU_NON_MANDATORY_HEADER_LEN = 4 |
| constexpr unsigned | GTPU_FLAGS_VERSION_MASK = 0xe0 |
| constexpr unsigned | GTPU_FLAGS_VERSION_V1 = 0x01 |
| constexpr unsigned | GTPU_FLAGS_GTP_PRIME_PROTOCOL = 0x00 |
| constexpr unsigned | GTPU_FLAGS_GTP_PROTOCOL = 0x01 |
| constexpr unsigned | GTPU_MSG_ECHO_REQUEST = 1 |
| constexpr unsigned | GTPU_MSG_ECHO_RESPONSE = 2 |
| constexpr unsigned | GTPU_MSG_ERROR_INDICATION = 26 |
| constexpr unsigned | GTPU_MSG_SUPPORTED_EXTENSION_HEADERS_NOTIFICATION = 31 |
| constexpr unsigned | GTPU_MSG_END_MARKER = 254 |
| constexpr unsigned | GTPU_MSG_DATA_PDU = 255 |
| constexpr unsigned | GTPU_MAX_NUM_HEADER_EXTENSIONS = 10 |
| constexpr unsigned | GTPU_MAX_NUM_PRIVATE_EXTENSIONS = 1 |
| constexpr unsigned | GTPU_PRIVATE_EXTENSION_VALUE_LENGTH = 1 |
| constexpr bool | RU_TRACE_ENABLED = false |
| Set to true for enabling radio unit trace. | |
| file_event_tracer< RU_TRACE_ENABLED > | ru_tracer |
| RU event tracing. This tracer is used to analyze latencies in the RU processing. | |
| constexpr bool | UP_TRACE_ENABLED = false |
| file_event_tracer< UP_TRACE_ENABLED > | up_tracer |
| constexpr unsigned | FIXED_SIZED_MAC_CE_SUBHEADER_SIZE = 1 |
| constexpr unsigned | MAC_SDU_SUBHEADER_LENGTH_THRES = 256 |
| constexpr unsigned | MIN_MAC_SDU_SUBHEADER_SIZE = 2 |
| constexpr unsigned | MAX_MAC_SDU_SUBHEADER_SIZE = 3 |
| constexpr const char * | MAC_NR_START_STRING = "mac-nr" |
| constexpr uint8_t | MAC_NR_PAYLOAD_TAG = 0x01 |
| constexpr uint8_t | MAC_NR_RNTI_TAG = 0x02 |
| constexpr uint8_t | MAC_NR_UEID_TAG = 0x03 |
| constexpr uint8_t | MAC_NR_FRAME_SUBFRAME_TAG = 0x04 |
| constexpr uint8_t | MAC_NR_PHR_TYPE2_OTHERCELL_TAG = 0x05 |
| constexpr uint8_t | MAC_NR_HARQID = 0x06 |
| constexpr size_t | pdcp_sdu_max_size = 9000 |
| constexpr size_t | pdcp_control_pdu_max_size = 9000 |
| constexpr unsigned | AVX2_SIZE_BYTE = 32 |
| Number of bytes in an AVX2 register. | |
| constexpr unsigned | AVX512_SIZE_BYTE = 64 |
| Number of bytes in an AVX512 register. | |
| constexpr unsigned | NEON_SIZE_BYTE = 16 |
| Number of bytes in a NEON register. | |
| constexpr uint8_t | PLACEHOLDER_ONE = 255 |
| UCI placeholder bit. | |
| constexpr uint8_t | PLACEHOLDER_REPEAT = 254 |
| UCI placeholder bit. | |
| constexpr unsigned | MAX_BITS_CRC16 = 3824 |
| const unsigned | NOF_SSB_SUBCARRIERS = NOF_SSB_PRBS * NOF_SUBCARRIERS_PER_RB |
| Number of subcarriers within a SSB block, as per TS 38.211, Section 7.4.3.1. | |
| const uint32_t | INVALID_RLC_SN = 0xffffffff |
| Reserved number representing an invalid RLC sequence number. | |
| const uint32_t | RETX_COUNT_NOT_STARTED = 0xffffffff |
| Reserved number representing that RETX has not started. | |
| constexpr uint32_t | rlc_am_nr_status_pdu_sizeof_header_ack_sn = 3 |
| Header fixed part and ACK SN. | |
| constexpr uint32_t | rlc_am_nr_status_pdu_sizeof_nack_sn_ext_12bit_sn = 2 |
| NACK SN and extension fields (12 bit SN) | |
| constexpr uint32_t | rlc_am_nr_status_pdu_sizeof_nack_sn_ext_18bit_sn = 3 |
| NACK SN and extension fields (18 bit SN) | |
| constexpr uint32_t | rlc_am_nr_status_pdu_sizeof_nack_so = 4 |
| NACK segment offsets (start and end) | |
| constexpr uint32_t | rlc_am_nr_status_pdu_sizeof_nack_range = 1 |
| NACK range (nof consecutively lost SDUs) | |
| constexpr uint32_t | RLC_AM_NR_TYP_NACKS = 512 |
| Expected number of NACKs in status PDU before needing to realloc. | |
| constexpr size_t | rlc_am_pdu_header_so_size = 2 |
| constexpr size_t | rlc_am_pdu_header_min_size_12bit = 2 |
| constexpr size_t | rlc_am_pdu_header_min_size_18bit = 3 |
| constexpr size_t | rlc_um_pdu_header_size_complete_sdu = 1 |
| constexpr size_t | rlc_um_pdu_header_size_6bit_sn_no_so = 1 |
| constexpr size_t | rlc_um_pdu_header_size_12bit_sn_no_so = 2 |
| constexpr size_t | rlc_um_pdu_header_size_6bit_sn_with_so = 3 |
| constexpr size_t | rlc_um_pdu_header_size_12bit_sn_with_so = 4 |
| template<typename T > | |
| std::enable_if_t< std::is_trivially_copyable< T >::value &&(sizeof(T)<=sizeof(T *)) | do_not_optimize )(T const &value) |
| This function forbids the compiler from optimizing away expressions without side-effects. | |
| constexpr unsigned | gtpu_sn_mod = 65536 |
| constexpr unsigned | gtpu_rx_window_size = 32768 |
| constexpr size_t | pdcp_data_pdu_header_size_12bit = 2 |
| constexpr size_t | pdcp_data_pdu_header_size_18bit = 3 |
| constexpr size_t | pdcp_data_pdu_header_size_max = pdcp_data_pdu_header_size_18bit |
| constexpr size_t | pdcp_window_size_12bit = 2048 |
| constexpr size_t | pdcp_window_size_18bit = 131072 |
Common numerical constants. | |
| constexpr log_likelihood_ratio | LLR_MAX = log_likelihood_ratio::max() |
| Maximum finite log-likelihood ratio value. | |
| constexpr log_likelihood_ratio | LLR_MIN = log_likelihood_ratio::min() |
| Minimum finite log-likelihood ratio value. | |
| constexpr log_likelihood_ratio | LLR_INFINITY = log_likelihood_ratio::infinity() |
| "Positive infinity" log-likelihood ratio. | |
This header is currently used only by the MAC to compute extra SSB parameters (needed for scheduling) from those provided by DU.
This factory header file depends on the GTP-U tunnel interfaces (see above include list). It is kept separate as clients of the GTP-U tunnel interfaces do not need to call factory methods.
This factory header file depends on the PDCP entity interfaces (see above include list). It is kept separate as clients of the PDCP entity interfaces dont need to call factory methods.
This factory header file depends on the SDAP interfaces (see above include list). It is kept separate as clients of the SDAP interfaces dont need to call factory methods.
Range of byte spans belonging to a byte_buffer_segment_list.
| using srsran::cell_common_configuration_list = slotted_id_vector<du_cell_index_t, std::unique_ptr<cell_configuration>> |
List of common configurations for the cells currently added in the scheduler.
Note: Pointers to cell configurations should remain valid on cell removal/addition.
| using srsran::csi_aperiodic_trigger_state_list = static_vector<csi_aperiodic_trigger_state, MAX_NOF_CSI_APERIODIC_TRIGGERS> |
Used to configure the UE with a list of aperiodic trigger states. Each codepoint of the DCI field "CSI request" is associated with one trigger state.
CSI-AperiodicTriggerStateList. Used to configure the UE with a list of trigger states for semi-persistent reporting of channel state information on L1.
CSI-SemiPersistentOnPUSCH-TriggerStateList. | using srsran::described_rx_codeblock = std::pair<span<const log_likelihood_ratio>, codeblock_metadata> |
Alias for the full codeblock characterization at the receiver.
described_rx_codeblock.first() Contains a view to the LLRs corresponding to one codeblock.described_rx_codeblock.second() Contains the codeblock metadata, useful for processing the corresponding codeblock (e.g., decoding, rate-dematching). Container for DM-RS symbols.
Data type used to represent a DMRS symbol mask for PDSCH and PUSCH transmissions.
Each bit set in the bitset represents a symbol within the slot. The first bit corresponds to the first symbol.
Dummy MAC CE payload. To be replaced by other MAC CE payload when its supported.
| using srsran::freq_resource_bitmap = bounded_bitset<pdcch_constants::MAX_NOF_FREQ_RESOURCES, true> |
Describes a frequency resource bitmap for CORESET allocation. Each resource represents a group of 6 PRBs.
| using srsran::is_byte_buffer_range |
Checks whether a type represents a range of byte_buffer_iterators (e.g. byte_buffer, byte_buffer_slice, byte_buffer_view).
| using srsran::nr_cell_id_t = uint64_t |
36-bit identifying an NR Cell Id as specified in subclause 9.3.1.7 of 3GPP TS 38.413
P_CMAX,f,c value expressed in dBm interval as defined in Table 10.1.18.1-1 of TS 38.133.
CSI Rank Indicator restriction type.
The RI restriction field is described in TS38.331 Section 6.3.2, Information Element CodebookConfig. The bit-width of this field must be equal to the number of CSI-RS transmit number of antennas.
| using srsran::ring_buffer = detail::ring_buffer_impl<T, std::vector<T>, RoundUpSizeToPowerOf2> |
Ring buffer with internal data storage via a std::vector<T>.
| T | value type stored by buffer |
| RoundUpSizeToPowerOf2 | Whether the ring buffer size gets round up to the next power of 2. When set to true, the compiler is able to avoid the % operation and use instead the "bitwise-and" operation. |
| using srsran::sch_mcs_index = bounded_integer<uint8_t, 0, 31> |
Physical Downlink and Uplink Shared Channel Modulation and Code Scheme Index, parameter $fI_{MCS}$f in TS38.214 Section 5.1.3.1.
Configures a pattern of SSBs. See TS 38.331, SSB-ToMeasure. Equates to longBitmap when size of bitset equals to 64. Equates to mediumBitmap when size of bitset equals to 8. Equates to shortBitmap when size of bitset equals to 4.
| using srsran::static_ring_buffer = detail::ring_buffer_impl<T, std::array<T, N>, false> |
Ring buffer with fixed, embedded data storage via a std::array<T, N>. It can contain up to N elements.
| T | value type stored by buffer. |
| N | Maximum capacity of the ring buffer. |
| using srsran::validator_result = error_type<std::string> |
This type represents the result of a validator function. In case of failure, it contains a string describing the error. In case of success, the .has_value() method returns true.
|
strong |
Aggregation Level of PDCCH allocation.
|
strong |
Outcome of a UE grant allocation, and action for the scheduler policy to follow afterwards.
The current outcomes are:
|
strong |
The IE Alpha defines possible values of a the pathloss compensation coefficient for uplink power control. Value alpha0 corresponds to the value 0, Value alpha04 corresponds to the value 0.4, and so on. Value alpha1 corresponds to value 1.
|
strong |
scaling values options, part of UCI-OnPUSCH, part of PUSCH-Config, as per TS 38.331.
Labels for the BS Channel Bandwidth for FR1, described in TS38.104, Table 5.3.2-1.
|
strong |
TS 38.321, 6.1.3.1 - Buffer Status Report MAC CEs.
Bucket size duration in milliseconds. See TS 38.331, bucketSizeDuration.
BWP-Id used to identify a BWP from the perspective of a UE.
Types of concurrent queues. They differ in type of synchronization mechanism and number of producers/consumers supported. Supported types are:
Types of barriers used for blocking pushes/pops of elements. Three types:
CORESET identifier. This value is UE-specific, which means that a UE can have up to "maxNrofControlResourceSets" CORESETS configured.
|
strong |
CPU feature list.
|
strong |
CQI table to use for CQI calculation.
cqi-Table in CSI-ReportConfig and TS 38.214, clause 5.2.2.1. table4 is for Rel.16 or above only.
|
strong |
CRC cyclic generator polynomials identifiers.
CSI-IM-ResourceId is used to identify one CSI-IM-Resource.
CSI-IM-ResourceId. CSI-IM-ResourceSetId is used to identify CSI-IM-ResourceSets.
CSI-IM-ResourceSetId. CSI-ReportConfigId is used to identify one CSI-ReportConfig.
CSI-ReportConfigId. Periodicity and slot offset.
CSI-ReportPeriodicityAndOffset. CSI report quantities.
Described in TS38.331 Section 6.3.2, Information Element CSI-ReportConfig.
CSI-ResourceConfigId is used to identify a CSI-ResourceConfig.
CSI-ResourceConfigId. Used to configure a periodicity for periodic and semi-persistent CSI resources, and for periodic and semi-persistent reporting on PUCCH.
CSI-ResourcePeriodicityAndOffset.
|
strong |
Code-Division Multiplexing (CDM) strategies for CSI-RS.
Strategies regarding Resource Element (RE) density in the frequency domain for CSI-RS signals.
| Enumerator | |
|---|---|
| dot5_even_RB | One RE occupied in even-numbered PRB. |
| dot5_odd_RB | One RE occupied in odd-numbered PRB. |
| one | One RE occupied in every PRB. |
| three | Three RE occupied in every PRB. |
|
strong |
CSI-RS types.
| Enumerator | |
|---|---|
| TRS | Tracking Reference signals. |
| CSI_RS_NZP | Non-Zero-Power CSI Reference Signal. |
| CSI_RS_ZP | Zero-Power CSI Reference Signal. |
CSI-SSB-ResourceSetId is used to identify one SS/PBCH block resource set.
CSI-SSB-ResourceSetId.
|
strong |
Direct Current (DC) offset, in number of subcarriers. See "txDirectCurrentLocation" in TS 38.331.
The numerology of the active UL/DL BWP is used as a reference to determine the number of subcarriers of the DC offset. The DC offset value 0 corresponds to the center of the SCS-Carrier for the numerology of the active UL/DL BWP. The relation with the TS 38.331 "txDirectCurrentLocation" parameter is, therefore, given by: dc_offset = txDirectCurrentLocation - 12 * N_RB / 2, where "N_RB" is the number of RBs of the SCS-Carrier. In case the DC offset falls within the SCS-Carrier boundaries, its value should range between {0,...,12 * N_RB - 1}.
Defines which fields are stored in the DCI payload, based on the chosen DCI format and RNTI type.
Defines which fields are stored in the DCI payload, based on the chosen DCI format and RNTI type.
Position for additional DM-RS in DL (see TS 38.211, Tables 7.4.1.1.2-3 and 7.4.1.1.2-4).
|
strong |
Type of DMRS to be used in DL and UL.
|
strong |
The maximum number of OFDM symbols for DL front loaded DMRS. If set to len2, the UE determines the actual number of DM-RS symbols by the associated DCI. (see TS 38.214, clause 7.4.1.1.2).
|
strong |
Position of first DM-RS for Downlink (see TS 38.211, clause 7.4.1.1.1) and Uplink (see TS 38.211, clause 6.4.1.1.3).
| enum srsran::du_cell_group_index_t : uint16_t |
DU-specific index to group of cells that might be aggregated into a UE-specific CellGroup, if the UE is CA-capable.
| enum srsran::du_cell_index_t : uint16_t |
Maximum number of cells supported by DU (implementation-defined).
| enum srsran::du_ue_index_t : uint16_t |
Maximum number of UEs supported by DU (implementation-defined).
|
strong |
Dynamic resource allocation indicator for DCI formats 0_1 and 1_1.
| enum srsran::e2sm_kpm_collection_method_t |
| enum srsran::e2sm_kpm_label_enum |
| enum srsran::e2sm_kpm_measurement_object_t |
| enum srsran::e2sm_kpm_metric_dtype_t |
| enum srsran::e2sm_kpm_metric_level_enum |
| enum srsran::e2sm_service_model_t |
|
strong |
Queue priority used to map to specific queue of the priority_multiqueue_task_worker. The higher the priority, the lower its integer value representation.
|
strong |
FFTW optimization flags.
FFTW planning rigor flags, arranged from fastest to slowest in terms of plan creation time, and from least to most optimized FFT algorithm selection.
| Enumerator | |
|---|---|
| fftw_estimate | Picks a sub-optimal plan quickly, using heuristics. |
| fftw_measure | Finds an optimized FFT plan by computing several FFTs and measuring their execution time. |
| fftw_exhaustive | Same as fftw_measure but more exhaustive. |
|
strong |
|
strong |
|
strong |
Thread pinning policy to a CPU affinity mask in the gNB.
| Enumerator | |
|---|---|
| round_robin | Each thread is pinned to a single CPU in a mask in RR fashion. |
| mask | All threads are sharing the same affinity mask. |
Types of CPU affinity masks in the gNB.
Identification of an HARQ process.
Logical Channel Group as per TS38.331.
| enum srsran::lcid_t : uint16_t |
Logical Channel Identity used to associate one logical channel to the corresponding RLC bearer. Values (0..32)
|
strong |
logicalChannelSR-DelayTimer, as part of BSR-Config, TS 38.331.
Lower physical layer baseband gateway buffer size policy.
Determines the policy to select the baseband gateway buffer size.
| Enumerator | |
|---|---|
| slot | The buffer size matches the number of samples per slot. |
| half_slot | The buffer size matches the number of samples per half-slot. |
| single_packet | The buffer size if equal to baseband_gateway::get_transmitter_optimal_buffer_size for the transmitter and baseband_gateway::get_receiver_optimal_buffer_size for the receiver. |
| optimal_slot | The buffer size is is equal to the greatest multiple of baseband_gateway::get_transmitter_optimal_buffer_size for the transmitter and baseband_gateway::get_receiver_optimal_buffer_size for the receiver less than the number of samples per slot. |
Lower physical layer thread profiles.
Outcomes of a HARQ-ACK report.
|
strong |
Options for PUCCH-MaxCodeRate in PUCCH-Config, TS 38.331.
Labels for the Minimum Channel Bandwidth for FR1< >. This is not explicitly defined in the TS, but it is used by TS 38.213, Section 13 for the Coreset 0 configuration. As per TS 38.104, Table 5.3.5-1, there are three possible minimum BW: 5MHz, 10MHz, 20MHz, and 40MHz.
|
strong |
Modulation schemes as described in TS38.211 Section 5.1.
Each modulation identifier is mapped to the corresponding modulation order.
|
strong |
Time advance offset - parameter 
This value must be selected from the parameter n-TimingAdvanceOffset (TS38.331 Section 6.3.2, Information Element ServingCellConfigCommon) if it is present. Otherwise, it is given by TS38.133 Section 7.1.2 depending on the duplex mode of the cell and the frequency range.
The values are given in units of 
|
strong |
Options for the number of Initial Cyclic Shifts that can be set for PUCCH Format 1.
Defines the number of different Initial Cyclic Shifts that can be used for PUCCH Format 1, as per PUCCH-format1, in PUCCH-Config, TS 38.331. We assume the CS are evenly distributed, which means we can only have a divisor of 12 possible cyclic shifts.
|
strong |
Nominal RBG-size (P value).
|
strong |
NR operating bands in FR1 and FR2.
This enumeration abstracts the NR operating bands for FR1 and FR2 described in TS 38.104, Table 5.2-1 and Table 5.2-2, respectively.
NZP-CSI-RS-ResourceId is used to identify one NZP-CSI-RS-Resource.
NZP-CSI-RS-ResourceId and maxNrofNZP-CSI-RS-Resources. NZP-CSI-RS-ResourceSetId is used to identify one NZP-CSI-RS-ResourceSet.
NZP-CSI-RS-ResourceSetId.
|
strong |
file_vector open modes.
| Enumerator | |
|---|---|
| read_only | Opens the file in read-only mode. |
| write_only | Opens the file in write-only mode. |
| read_write | Opens the file in read-write mode. Any previous content of the file will be lost. |
|
strong |
Default paging cycle, used to derive 'T' in TS 38.304. Value rf32 corresponds to 32 radio frames and so on.
Type of Paging. RAN initiated or CN initiated.
|
strong |
PDCP Control PDU type Ref: TS 38.323 Sec. 6.3.8
| Enumerator | |
|---|---|
| status_report | PDCP status report. |
| interspersed_rohc_feedback | Interspersed ROHC feedback. |
| ehc_feedback | EHC feedback. |
|
strong |
|
strong |
PDCP NR discard timer values. This timer is configured only for DRBs. In the transmitter, a new timer is started upon reception of an SDU from upper layer. See TS 38.322 for timer description and TS 38.331 for valid timer durations.
|
strong |
PDCP NR SRB or DRB information.
|
strong |
PDCP NR RLC mode information.
PDCP security direction.
|
strong |
PDCP NR sequence number field.
|
strong |
PDCP NR t-Reordering timer values. This timer is used to detect loss of PDCP Data PDUs. See TS 38.322 for timer description and TS 38.331 for valid timer durations.
Options for pdsch-HARQ-ACK-Codebook, in PhysicalCellGroupConfig, TS 38.331.
|
strong |
Modulation and Code Scheme table identifiers for PDSCH.
The identifiers are inspired by TS38.331 Section as 6.3.2 (see field mcs-Table in various Information Elements). For the actual tables and the selection procedure, see TS38.214 Section 5.1.3.1.
|
strong |
|
strong |
periodicBSR-Timer, as part of BSR-Config, TS 38.331.
|
strong |
Type of PH field reported by UE.
|
strong |
phr-ModeOtherCG, in PHR-Config, TS 38.331.
|
strong |
phr-PeriodicTimer, in PHR-Config, TS 38.331.
|
strong |
phr-ProhibitTimer, in PHR-Config, TS 38.331.
phr-Tx-PowerFactorChange, in PHR-Config, TS 38.331.
|
strong |
CSI-RS PMI report codebook configuration.
|
strong |
Labels for the internal bit interleaver.
| Enumerator | |
|---|---|
| not_present | Internal bit interleaver disabled. |
| present | Internal bit interleaver enabled. |
|
strong |
PRACH preamble formats.
PRACH preamble formats are described in TS38.211 Table 6.3.3.1-1 and 6.3.3.1-2.
|
strong |
Random Access subcarrier spacing.
Prioritized Bit rate value in kiloBytes/s. See TS 38.331, prioritisedBitRate.
Error causes for the case of transactions that timed out or were cancelled.
|
strong |
PSUP PDU Type
Ref: TS 38.415 Sec. 5.5.3.1
|
strong |
|
strong |
Options for occ-Index in PUCCH-format4, in PUCCH-Config, TS 38.331.
|
strong |
Options for occ-Length in PUCCH-format4, in PUCCH-Config, TS 38.331.
|
strong |
PUCCH Formats as described in TS38.213 Section 9.2.
|
strong |
PUCCH Format 4 spreading factor.
|
strong |
Configuration of group and sequence hopping as described in TS38.331 PUCCH-ConfigCommon IE.
| Enumerator | |
|---|---|
| NEITHER | Implies neither group or sequence hopping is enabled. |
| ENABLE | Enables group hopping and disables sequence hopping. |
| DISABLE | Disables group hopping and enables sequence hopping. |
Defines whether the PUCCH within the current slot belongs to a PUCCH repetition. For more details, refer to TS38.213, Section 9.2.6.
|
strong |
Modulation and Code Scheme table identifiers for PUSCH.
The identifiers are inspired by TS38.331 Section as 6.3.2 (see field mcs-Table in various Information Elements). For the actual tables and the selection procedure, see TS38.214 Section 6.1.4.1.
|
strong |
|
strong |
Rate matching pattern id used to identify a Rate matching pattern configuration.
|
strong |
Radio Bearer type, either SRB or DRB.
|
strong |
RBG size types for PDSCH.
|
strong |
Resource allocation type for DCI formats 0_1 and 1_1.
Dimension, i.e. number of coordinates, of each indexing level of the resource grid.
PRACH Restricted set configuration.
PRACH 
|
strong |
retxBSR-Timer, as part of BSR-Config, TS 38.331.
|
strong |
RLC AM NR sequence number field.
|
strong |
RLC AM NR segmentation info.
|
strong |
RLC NR modes.
|
strong |
RLC AM NR segmentation info.
| Enumerator | |
|---|---|
| full_sdu | Full SDU. |
| first_segment | First SDU segment. |
| last_segment | Last SDU segment. |
| middle_segment | Middle SDU segment. |
|
strong |
Converts sequence number field to numeric its value.
| sn_size | sequence number size |
|
strong |
RLC UM NR sequence number field.
|
strong |
|
strong |
Physical shared channels Mapping Type.
| Enumerator | |
|---|---|
| typeA | TypeA time allocation, it can start only at symbol 2 or 3 within a slot. |
| typeB | TypeB time allocation. |
SchedulingRequestResourceId, as per TS 38.331.
|
strong |
SDAP header options for DL.
|
strong |
SDAP header options for UL.
Search Space identifier. This value is UE-specific, which means that a UE can have up to "maxNrofSearchSpaces=40" Search Spaces configured. The ID space is used across BWPs of a serving cell.
Search Space Set Type as per TS38.213, Section 10.1.
|
strong |
SearchSpace Type.
ServCellIndex, as per TS 38.331. It concerns a short identity, used to uniquely identify a serving cell (from a UE's perspective) across cell groups. Value 0 applies to the PCell (Master Cell Group).
SIB retransmission periodicity in milliseconds as per TS38.331 Section 5.2.1.
|
strong |
sr-TransMax possible values, for SchedulingRequestToAddMod, TS 38.331.
|
strong |
Labels that code how many bits are used for SR. For PUCCH Format 0-1, valid values: no_sr = no SR occasion; one = SR occasion. For PUCCH Format 2-3-4, all possible values are valid.
|
strong |
Encodes the periodicity (only) of periodicityAndOffset for SchedulingRequestResourceConfig, TS 38.331. Note that the offset is encoded separately.
|
strong |
sr-ProhibitTimer possible values, for SchedulingRequestToAddMod, TS 38.331.
Refer to "SS/PBCH block and CORESET multiplexing pattern", TS 38.213, Section 13.
SSB-Index identifies an SS-Block within an SS-Burst.
|
strong |
Labels for the different SS/PBCH block patterns defined in TS38.213 Section 4.1.
|
strong |
SSB periodicity in milliseconds as per TS38.331 Section 6.3.2 IE ssb-periodicityServingCell.
|
strong |
PSS EPRE to SSS EPRE for SSB, as per TS 38.213, Section 4.1.
|
strong |
Representation of subcarrier spacing.
TAG-Id, TS 38.331.
TCI-State id used to identify a TCI-State configuration.
TimeAlignmentTimer, TS 38.331.
|
strong |
Type used to represent a unique timer identifier.
Subset of PMIs addressed by TPMI, where PMIs are those supported by UEs with maximum coherence capabilities.
HARQ values for UCI PUCCH Format 0 or Format 1.
Indicates CRC result on UCI containing HARQ/CSI Part 1/CSI Part 2 data.
|
strong |
Labels for the UCI decoding/detection status, common for both PUCCH and PUSCH UCI.
| enum srsran::ue_cell_index_t : uint16_t |
Maximum number of cells supported by a single UE.
|
strong |
xOverhead options, as per TS 38.331. Used in PDSCH-ServingCellConfig and PUSCH-ServingCellConfig.
ZP-CSI-ResourceId is used to identify one ZP-CSI-Resource.
ZP-CSI-RS-ResourceId. ZP-CSI-ResourceSetId is used to identify one ZP-CSI-ResourceSet.
ZP-CSI-RS-ResourceSetId. Calculates the squared modulus of a complex value.
| [in] | x | Complex value. |


| void srsran::add_auto_enum_option | ( | CLI::App & | app, |
| const std::string & | option_name, | ||
| optional< Param > & | param, | ||
| const std::string & | desc ) |
Parsing an integer with additional option "auto" into an optional of an enum type.
Moves the pointer by the given size in bytes.
|
inline |
Return aggregation level enum value.
|
inlineconstexpr |
Moves the pointer to the next aligned position.
| unsigned srsran::allocate_mac_ces | ( | dl_msg_tb_info & | tb_info, |
| dl_logical_channel_manager & | lch_mng, | ||
| unsigned | total_tbs ) |
Allocate MAC subPDUs for pending MAC CEs.
| [in] | tb_info | TB on which MAC subPDUs will be stored. |
| [in] | lch_mng | UE DL logical channel manager. |
| [in] | total_tbs | available space in bytes for subPDUs. |
| unsigned srsran::allocate_mac_sdus | ( | dl_msg_tb_info & | tb_info, |
| dl_logical_channel_manager & | lch_mng, | ||
| unsigned | total_tbs ) |
Allocate MAC SDUs and corresponding MAC subPDU subheaders.
| [in] | tb_info | TB on which MAC subPDUs will be stored. |
| [in] | lch_mng | UE DL logical channel manager. |
| [in] | total_tbs | available space in bytes for subPDUs. |
| unsigned srsran::allocate_ue_con_res_id_mac_ce | ( | dl_msg_tb_info & | tb_info, |
| dl_logical_channel_manager & | lch_mng, | ||
| unsigned | total_tbs ) |
Allocate MAC subPDUs for pending UE Contention Resolution Identity MAC CE.
| [in] | tb_info | TB on which MAC subPDUs will be stored. |
| [in] | lch_mng | UE DL logical channel manager. |
| [in] | total_tbs | available space in bytes for subPDUs. |
|
inline |
| void srsran::apply_addmodremlist_diff | ( | AddModList & | src_and_dest_list, |
| const AddModList & | add_diff_list, | ||
| const RemoveList & | rm_diff_list, | ||
| const GetId & | id_func ) |
| void srsran::apply_addmodremlist_diff | ( | const AddModList & | prev_list, |
| const AddModList & | add_diff_list, | ||
| const RemoveList & | rm_diff_list, | ||
| AddModList & | next_list, | ||
| const GetId & | id_func ) |
Apply toAddModList/toRemoveList changes
| prev_list | original list of rrc fields |
| add_diff_list | added/modified elements |
| rm_diff_list | removed elements |
| next_list | resulting list. (Can be same as prev_list) |
Check if all elements of a range are unique.
|
inline |
Convert E1AP ASN.1 QoS Flow Map Item to e1ap_qos_flow_map_item type.
| e2sm_kpm_label_enum srsran::asn1_label_2_enum | ( | const asn1::e2sm_kpm::meas_label_s & | meas_label | ) |
|
inline |
|
inline |
Converts E1AP ASN.1 discard timer type to pdcp_discard_timer type.
|
inline |
Convert E1AP ASN.1 to PDCP SN size.
|
inline |
Converts E1AP ASN.1 t-Reordering type to pdcp_t_reordering type.
|
inline |
Converts E1AP ASN.1 type to an rlc_mode type.
| asn1_rlc_mod | E1AP ASN.1 type. |
|
inline |
Converts type security_indication to an ASN.1 type.
| asn1obj | ASN.1 object where the result of the conversion is stored. |
| security_indication | Security Indication IE contents. |
|
inline |
Converts ASN.1 type to security_result_t.
| [out] | security_result | Security Result IE contents. |
| [in] | asn1obj | ASN.1 object from which the result is taken. |
| up_transport_layer_info srsran::asn1_to_up_transport_layer_info | ( | Asn1Type & | asn1obj | ) |
Converts ASN.1 type into up_transport_layer_info.
| asn1obj | ASN.1 object which is going to be converted. |
| auto srsran::async_wait_for | ( | UniqueTimer && | timer, |
| std::chrono::milliseconds | duration_msec ) |
Returns an awaitable object that is only ready when the passed duration_msec has elapsed.
| timer | unique_timer object that is used to set the duration and timeout callback. |
| duration_msec | duration in msec until the timer gets triggered. |
Maps the integer beta_offset value for CSI reporting into the corresponding float value.
The integer beta_offset value is passed by the PUSCH-Config, TS 38.331, and the mapping into the corresponding float value is determined as per Table 9.3-2, TS 38.213.
| beta_uint_val | is the integer value as per BetaOffsets, TS 38.331. |
The integer beta_offset value is passed by the PUSCH-Config, TS 38.331, and the mapping into the corresponding float value is determined as per Table 9.3-2, TS 38.213.
| [in] | beta_uint_val | is the integer value as per BetaOffsets, TS 38.331. |
beta_uint_val < 19, so as not to incur in reserved values, as per Table 9.3-2, TS 38.213. Maps the integer beta_offset value for HARQ-ACK reporting into the corresponding float value.
The integer beta_offset value is passed by the PUSCH-Config, TS 38.331, and the mapping into the corresponding float value is determined as per Table 9.3-1, TS 38.213.
| beta_uint_val | is the integer value as per BetaOffsets, TS 38.331. |
The integer beta_offset value is passed by the PUSCH-Config, TS 38.331, and the mapping into the corresponding float value is determined as per Table 9.3-1, TS 38.213.
| [in] | beta_uint_val | is the integer value as per BetaOffsets, TS 38.331. |
beta_uint_val < 16, so as not to incur in reserved values, as per Table 9.3-1, TS 38.213.
|
inline |
Knuth's 64-bit reverse. E.g. 0x0000000000000001 -> 0x8000000000000000. For more information see: https://matthewarcus.wordpress.com/2012/11/18/reversing-a-64-bit-word/.
| n | Number to reverse. |
|
inlineconstexpr |
Converts the BS channel bandwidth label into the actual BW value in MHz.
| uint32_t srsran::buff_size_field_to_bytes | ( | size_t | buff_size_index, |
| bsr_format | format ) |
Converts the buffer size field of a BSR (5 or 8-bit Buffer Size field) into Nof Bytes.
| buff_size_index | The buffer size field contained in the MAC PDU. |
| format | The BSR format that determines the buffer size field length. |
Converts the buffer size field of a BSR (5 or 8-bit Buffer Size field) into Bytes.
| buff_size_index | The buffer size field contained in the MAC PDU. |
| format | The BSR format that determines the buffer size field length. |
| void srsran::build_dci_f0_0_c_rnti | ( | dci_ul_info & | dci, |
| const ue_cell_configuration & | ue_cell_cfg, | ||
| search_space_id | ss_id, | ||
| const crb_interval & | crbs, | ||
| unsigned | time_resource, | ||
| sch_mcs_index | mcs_index, | ||
| uint8_t | rv, | ||
| const ul_harq_process & | h_ul ) |
Builds DCI f0_0 for C-RNTI.
| void srsran::build_dci_f0_0_tc_rnti | ( | dci_ul_info & | dci, |
| const bwp_downlink_common & | init_dl_bwp, | ||
| const bwp_configuration & | ul_bwp, | ||
| const crb_interval & | crbs, | ||
| unsigned | time_resource, | ||
| sch_mcs_index | mcs_index, | ||
| uint8_t | rv, | ||
| const ul_harq_process & | h_ul ) |
Builds DCI f0_0 for TC-RNTI, used in Msg3 retxs.
| void srsran::build_dci_f0_1_c_rnti | ( | dci_ul_info & | dci, |
| const ue_cell_configuration & | ue_cell_cfg, | ||
| search_space_id | ss_id, | ||
| const crb_interval & | crbs, | ||
| unsigned | time_resource, | ||
| sch_mcs_index | mcs_index, | ||
| uint8_t | rv, | ||
| const ul_harq_process & | h_ul, | ||
| unsigned | total_dai, | ||
| unsigned | nof_layers ) |
Builds DCI f0_1 for C-RNTI.
| void srsran::build_dci_f1_0_c_rnti | ( | dci_dl_info & | dci, |
| const ue_cell_configuration & | ue_cell_cfg, | ||
| search_space_id | ss_id, | ||
| crb_interval | crbs, | ||
| unsigned | time_resource, | ||
| unsigned | k1, | ||
| unsigned | pucch_res_indicator, | ||
| unsigned | dai, | ||
| sch_mcs_index | mcs_index, | ||
| uint8_t | rv, | ||
| const dl_harq_process & | h_dl ) |
Builds DCI f1_0 for C-RNTI.
| void srsran::build_dci_f1_0_p_rnti | ( | dci_dl_info & | dci, |
| const bwp_downlink_common & | init_dl_bwp, | ||
| crb_interval | crbs, | ||
| unsigned | time_resource, | ||
| sch_mcs_index | mcs_index ) |
Builds DCI f1_0 for P-RNTI used in PCCHs.
| void srsran::build_dci_f1_0_ra_rnti | ( | dci_dl_info & | dci, |
| const bwp_downlink_common & | init_dl_bwp, | ||
| crb_interval | crbs, | ||
| unsigned | time_resource, | ||
| sch_mcs_index | mcs_index ) |
Builds DCI f1_0 for RA-RNTI used in RAR.
| void srsran::build_dci_f1_0_si_rnti | ( | dci_dl_info & | dci, |
| const bwp_downlink_common & | init_dl_bwp, | ||
| crb_interval | crbs, | ||
| unsigned | time_resource, | ||
| sch_mcs_index | mcs_index, | ||
| uint8_t | si_indicator ) |
Builds DCI f1_0 for SI-RNTI used in SIBs.
| void srsran::build_dci_f1_0_tc_rnti | ( | dci_dl_info & | dci, |
| const bwp_downlink_common & | init_dl_bwp, | ||
| crb_interval | crbs, | ||
| unsigned | time_resource, | ||
| unsigned | k1, | ||
| unsigned | pucch_res_indicator, | ||
| sch_mcs_index | mcs_index, | ||
| uint8_t | rv, | ||
| const dl_harq_process & | h_dl ) |
Builds DCI f1_0 for TC-RNTI, used for instance in Msg4.
| void srsran::build_dci_f1_1_c_rnti | ( | dci_dl_info & | dci, |
| const ue_cell_configuration & | ue_cell_cfg, | ||
| search_space_id | ss_id, | ||
| prb_interval | prbs, | ||
| unsigned | time_resource, | ||
| unsigned | k1, | ||
| unsigned | pucch_res_indicator, | ||
| unsigned | dai, | ||
| sch_mcs_index | tb1_mcs_index, | ||
| uint8_t | rv, | ||
| const dl_harq_process & | h_dl, | ||
| unsigned | nof_layers ) |
Builds DCI f1_1 for C-RNTI.
| void srsran::build_pdsch_f1_0_c_rnti | ( | pdsch_information & | pdsch, |
| const pdsch_config_params & | pdsch_cfg, | ||
| unsigned | tbs_bytes, | ||
| rnti_t | rnti, | ||
| const ue_cell_configuration & | ue_cell_cfg, | ||
| search_space_id | ss_id, | ||
| const dci_1_0_c_rnti_configuration & | dci_cfg, | ||
| const crb_interval & | crbs, | ||
| bool | is_new_data ) |
Builds PDSCH PDU for DCI format 1_0, scrambled by C-RNTI.
| void srsran::build_pdsch_f1_0_p_rnti | ( | pdsch_information & | pdsch, |
| const cell_configuration & | cell_cfg, | ||
| unsigned | tbs_bytes, | ||
| const dci_1_0_p_rnti_configuration & | dci_cfg, | ||
| const crb_interval & | crbs, | ||
| const ofdm_symbol_range & | symbols, | ||
| const dmrs_information & | dmrs_info ) |
Builds PDSCH PDU for DCI format 1_0, scrambled by P-RNTI.
| void srsran::build_pdsch_f1_0_ra_rnti | ( | pdsch_information & | pdsch, |
| unsigned | tbs_bytes, | ||
| rnti_t | rnti, | ||
| const cell_configuration & | cell_cfg, | ||
| const dci_1_0_ra_rnti_configuration & | dci_cfg, | ||
| const crb_interval & | crbs, | ||
| const dmrs_information & | dmrs_info ) |
Builds PDSCH PDU for DCI format 1_0, scrambled by RA-RNTI.
| void srsran::build_pdsch_f1_0_si_rnti | ( | pdsch_information & | pdsch, |
| const cell_configuration & | cell_cfg, | ||
| unsigned | tbs_bytes, | ||
| const dci_1_0_si_rnti_configuration & | dci_cfg, | ||
| const crb_interval & | crbs, | ||
| const ofdm_symbol_range & | symbols, | ||
| const dmrs_information & | dmrs_info ) |
Builds PDSCH PDU for DCI format 1_0, scrambled by SI-RNTI.
| void srsran::build_pdsch_f1_0_tc_rnti | ( | pdsch_information & | pdsch, |
| const pdsch_config_params & | pdsch_cfg, | ||
| unsigned | tbs_bytes, | ||
| rnti_t | rnti, | ||
| const cell_configuration & | cell_cfg, | ||
| const dci_1_0_tc_rnti_configuration & | dci_cfg, | ||
| const crb_interval & | crbs, | ||
| bool | is_new_data ) |
Builds PDSCH PDU for DCI format 1_0, scrambled by TC-RNTI.
| void srsran::build_pdsch_f1_1_c_rnti | ( | pdsch_information & | pdsch, |
| const pdsch_config_params & | pdsch_cfg, | ||
| sch_mcs_tbs | mcs_tbs_info, | ||
| rnti_t | rnti, | ||
| const ue_cell_configuration & | ue_cell_cfg, | ||
| search_space_id | ss_id, | ||
| const dci_1_1_configuration & | dci_cfg, | ||
| const crb_interval & | crbs, | ||
| const dl_harq_process & | h_dl, | ||
| const ue_channel_state_manager & | cs_mgr ) |
Builds PDSCH PDU for DCI format 1_1, scrambled by C-RNTI.
| void srsran::build_pusch_f0_0_c_rnti | ( | pusch_information & | pusch, |
| rnti_t | rnti, | ||
| const pusch_config_params & | pusch_cfg, | ||
| unsigned | tbs_bytes, | ||
| const cell_configuration & | cell_cfg, | ||
| const bwp_uplink_common & | ul_bwp, | ||
| const dci_0_0_c_rnti_configuration & | dci_cfg, | ||
| const crb_interval & | crbs, | ||
| bool | is_new_data ) |
Builds PUSCH PDU for DCI format 0_0, scrambled by C-RNTI.
| void srsran::build_pusch_f0_0_tc_rnti | ( | pusch_information & | pusch, |
| const pusch_config_params & | pusch_cfg, | ||
| unsigned | tbs_bytes, | ||
| rnti_t | rnti, | ||
| const cell_configuration & | cell_cfg, | ||
| const dci_0_0_tc_rnti_configuration & | dci_cfg, | ||
| const crb_interval & | crbs, | ||
| bool | is_new_data ) |
Builds PUSCH PDU for DCI format 0_0, scrambled by TC-RNTI.
| void srsran::build_pusch_f0_1_c_rnti | ( | pusch_information & | pusch, |
| rnti_t | rnti, | ||
| const pusch_config_params & | pusch_cfg, | ||
| sch_mcs_tbs | mcs_tbs_info, | ||
| const ue_cell_configuration & | ue_cell_cfg, | ||
| search_space_id | ss_id, | ||
| const dci_0_1_configuration & | dci_cfg, | ||
| const crb_interval & | crbs, | ||
| const ul_harq_process & | h_ul ) |
Builds PUSCH PDU for DCI format 0_1, scrambled by C-RNTI.
| size_t srsran::byte_buffer_segment_pool_default_segment_size | ( | ) |
Default byte buffer segment size in the byte buffer pool.
Convert between array of bytes and BCD-coded MCC. Digits are represented by 4-bit nibbles. Unused nibbles are filled with 0xf. MCC 001 results in 0xf001
Convert between array of bytes and BCD-coded MNC. Digits are represented by 4-bit nibbles. Unused nibbles are filled with 0xf. MNC 001 results in 0xf001 MNC 01 results in 0xff01
| std::enable_if_t< not is_iterable< AddFunctor >::value > srsran::calculate_addmodremlist_diff | ( | const RemFunctor & | rem_func, |
| const AddFunctor & | add_func, | ||
| const ModFunctor & | mod_func, | ||
| const List & | prev_list, | ||
| const List & | next_list, | ||
| const GetId & | id_func ) |
Invokes rem_func, add_func and mod_func for any detected differences between prev_list and next_list.
| rem_func | Callable with signature void(const obj_type&), where obj_type is the value_type of List, which gets called for every object whose id exists in prev_list but does not exist in next_list. |
| add_func | Callable with signature void(const obj_type&), where obj_type is the value_type of List, which gets called for every object whose id exists in next_list but does not exist in prev_list. |
| mod_func | Callable with signature void(const obj_type&), where obj_type is the value_type of List, which gets called for every object whose id exists in both next_list and prev_list, but its parameters are different between the two lists. |
| List | List of objects, where each object has an ID. |
| GetId | Function to obtain ID of an object. |
| [in] | prev_list | Previous list of objects. |
| [in] | next_list | Next list of objects. |
| [in] | id_func | function to extract the ID from an object with type equal to the value_type of List. |
| std::enable_if_t< is_iterable< toAddModList >::value > srsran::calculate_addmodremlist_diff | ( | toAddModList & | add_diff_list, |
| RemoveList & | rem_diff_list, | ||
| const List & | prev_list, | ||
| const List & | next_list, | ||
| const ConvertElem & | convert_func, | ||
| const GetId & | id_func ) |
Generate toAddModList and toReleaseList based on differences between prev_list and next_list.
| toAddModList | List of objects added or modified. |
| RemoveList | List of IDs for objects removed. |
| List | List of objects, where each object has an ID. |
| ConvertElem | Function to convert element of List to element of toAddModList. |
| GetId | Function to obtain ID of an object. |
| [out] | add_diff_list | Difference in terms of added/modified objects between prev_list and next_list. |
| [out] | rem_diff_list | Difference in terms of removed objects between prev_list and next_list. |
| [in] | prev_list | Previous list of objects. |
| [in] | next_list | Next list of objects. |
| [in] | convert_func | Callable used to convert an object with type List::value_type into an object with type toAddModList::value_type. |
| [in] | id_func | function to extract the ID from an object with type equal to the value_type of List. |
| void srsran::calculate_addmodremlist_diff | ( | toAddModList & | add_diff_list, |
| RemoveList & | rem_diff_list, | ||
| const toAddModList & | prev_list, | ||
| const toAddModList & | next_list, | ||
| const GetId & | id_func ) |
Generate toAddModList and toReleaseList based on differences between prev_list and next_list.
| toAddModList | List of objects added or modified. |
| RemoveList | List of IDs for objects removed. |
| GetId | Function to obtain ID of an object. |
| [out] | add_diff_list | Difference in terms of added/modified objects between prev_list and next_list. |
| [out] | rem_diff_list | Difference in terms of removed objects between prev_list and next_list. |
| [in] | prev_list | Previous list of objects. |
| [in] | next_list | Next list of objects. |
| [in] | id_func | function to extract the ID from an object with type equal to the value_type of List. |
|
inline |
Calculates the number of RE used for DMRS per RB in PDSCH and PUSCH transmissions.
| bool srsran::calculate_setup_release | ( | asn1::setup_release_c< Asn1Type > & | setup_rel, |
| const optional< OptionalElem > & | prev, | ||
| const optional< OptionalElem > & | next, | ||
| const ConvertElem & | convert_func ) |
Sets up the setup/release ASN.1 object based on the difference between prev and next.
| setup_rel | Setup/release ASN.1 object. |
| prev | Previous optional value. |
| next | New optional value. |
| ConvertElem | Function to convert element of OptionalElem to element of Asn1Type. |
Returns the value range of the sequence numbers.
| sn_size | Length of the sequence number field in bits |
|
inline |
Convert cause_t type to E1AP ASN.1 cause.
| cause | The cause_t type. |
| prb_index_list srsran::cce_to_prb_mapping_coreset0 | ( | unsigned | N_coreset0_start, |
| unsigned | N_coreset0_size, | ||
| unsigned | N_symb_coreset, | ||
| pci_t | N_id_cell, | ||
| unsigned | aggregation_level, | ||
| unsigned | cce_index ) |
Calculates the PDCCH CCE to PRB mapping for a PDCCH transmission in CORESET0.
| [in] | N_coreset0_start | The lowest RB index of the CORESET0 relative to CRB0 (PointA). |
| [in] | N_coreset0_size | The CORESET0 bandwidth in RBs. |
| [in] | N_symb_coreset | The number of symbols for the PDCCH transmission. |
| [in] | N_id_cell | Physical cell identifier. |
| [in] | aggregation_level | Number of CCE used for the PDCCH transmission. |
| [in] | cce_index | Initial CCE index for the PDCCH transmision. |
| prb_index_list srsran::cce_to_prb_mapping_interleaved | ( | unsigned | N_bwp_start, |
| const freq_resource_bitmap & | freq_resources, | ||
| unsigned | N_symb_coreset, | ||
| unsigned | reg_bundle_size, | ||
| unsigned | interleaver_size, | ||
| unsigned | shift_index, | ||
| unsigned | aggregation_level, | ||
| unsigned | cce_index ) |
Calculates the PDCCH CCE to PRB mapping for an interleaved PDCCH transmission.
| [in] | N_bwp_start | Start of the BWP relative to CRB0 (PointA). |
| [in] | freq_resources | Indicates the frequency resources active for the CORESET. |
| [in] | N_symb_coreset | The number of symbols for the PDCCH transmission. |
| [in] | reg_bundle_size | Parameter reg-BundleSize. |
| [in] | interleaver_size | Parameter interleaverSize. |
| [in] | shift_index | Parameter shiftIndex if available, otherwise ![]() |
| [in] | aggregation_level | Number of CCE used for the PDCCH transmission. |
| [in] | cce_index | Initial CCE index for the PDCCH transmision. |
| prb_index_list srsran::cce_to_prb_mapping_non_interleaved | ( | unsigned | N_bwp_start, |
| const freq_resource_bitmap & | freq_resources, | ||
| unsigned | N_symb_coreset, | ||
| unsigned | aggregation_level, | ||
| unsigned | cce_index ) |
Calculates the PDCCH CCE to PRB mapping for a non-interleaved PDCCH transmission.
| [in] | N_bwp_start | Start of the BWP relative to CRB0 (PointA). |
| [in] | freq_resources | Indicates the frequency resources active for the CORESET. |
| [in] | N_symb_coreset | The number of symbols for the PDCCH transmission. |
| [in] | aggregation_level | Number of CCE used for the PDCCH transmission. |
| [in] | cce_index | Initial CCE index for the PDCCH transmision. |
| nr_cell_global_id_t srsran::cgi_from_asn1 | ( | const asn1::f1ap::nr_cgi_s & | asn1_cgi | ) |
Converts ASN.1 CGI typo into internal struct. It also performs the byte to MCC/MNC conversion.
| [in] | asn1_cgi | The ASN.1 encoded NR-CGI. |
Converts channel bandwidth in MHz to index.
Converts channel bandwidth in MHz to index.
Checks the value of a bit in the bitmap and returns a true if the bit is set, otherwise false.
| [in] | bitmap | Bitmap to check. |
| [in] | bit | Bit to check. |
| bool srsran::check_cpu_governor | ( | srslog::basic_logger & | logger | ) |
Check whether the CPU scaling governor is set to performance.
| [in] | logger | to print warnings. |
| bool srsran::check_drm_kms_polling | ( | srslog::basic_logger & | logger | ) |
Check whether the DRM KMS polling is set.
| [in] | logger | to print warnings. |
|
inline |
Converts type ciphering_algorithm to an E1AP ASN.1 type.
| [in] | ciph_algo | Cyphering Algorithm object. |
|
constexpr |
Ensures a value is between the given bounds, according to the default order relation.
See the documentation for the extended form for more information.
|
constexpr |
Ensures a value is between the given bounds, according to a specified order relation.
| T | Class of the value to clamp. A strict order relation (less than) should be definable between elements of class T. |
| CompareLess | Class of the comparison object (see below). |
| value | The value to clamp. |
| lower_bound | Minimum value after clamping. |
| upper_bound | Maximum value after clamping. |
| comp | Comparison function object implementing an order relation between elements of T. The signature should be equivalent to bool comp(const T& a, const T& b) and should return true if a < b (according to any order relation in T), false otherwise. |
lower_bound if value < lower_bound; a reference to upper_bound if upper_bound < value; a reference to value itself otherwise. | void srsran::cleanup_cgroups | ( | ) |
Removes cgroups created by the gNB app.
| void srsran::close_trace_file | ( | ) |
Close the trace file. This function is called automatically when the program exits.
| optional< sch_mcs_tbs > srsran::compute_dl_mcs_tbs | ( | const pdsch_config_params & | pdsch_params, |
| const ue_cell_configuration & | ue_cell_cfg, | ||
| sch_mcs_index | max_mcs, | ||
| unsigned | nof_prbs ) |
Computes the PDSCH MCS and TBS such that the effective code rate does not exceed 0.95.
| [in] | pdsch_params | PDSCH parameters needed to compute the MCS and TBS. |
| [in] | ue_cell_cfg | UE cell configuration. |
| [in] | max_mcs | Initial value to be applied for the MCS; the final MCS might be lowered if the effective code rate is above 0.95. |
| [in] | nof_prbs | Maximum number of PRBs available for the PUSCH transmission. |
| size_t srsran::compute_host_nof_hardware_threads | ( | ) |
Computes the number of threads that are usable in the given host.
|
inline |
Helper function to calculate an interval index from floating point value.
| [in] | value | Input value. |
| [in] | interval_width | Interval width. |
| [in] | nof_intervals | Number of intervals. |
| optional< sch_mcs_tbs > srsran::compute_ul_mcs_tbs | ( | const pusch_config_params & | pusch_params, |
| const ue_cell_configuration & | ue_cell_cfg, | ||
| sch_mcs_index | max_mcs, | ||
| unsigned | nof_prbs ) |
Computes the PUSCH MCS and TBS such that the effective code rate does not exceed 0.95.
| [in] | pusch_params | PUSCH parameters needed to compute the MCS and TBS. |
| [in] | ue_cell_cfg | UE cell configuration. |
| [in] | max_mcs | Initial value to be applied for the MCS; the final MCS might be lowered if the effective code rate is above 0.95. |
| [in] | nof_prbs | Maximum number of PRBs available for the PUSCH transmission. |
| bool srsran::configure_cgroups | ( | const srsran::os_sched_affinity_bitmask & | isol_cpus | ) |
Configures cgroups.
| [in] | isol_cpus | Set of CPUs to be isolated for the gNB app. |
First move itself to root cgroup.
Create cgroup for OS tasks, call it 'housekeeping' cgroup.
Migrate all processes to the default cgroup, that will be using housekeeping cpuset.
Create cgroup with isolated CPUs dedicated for the gNB app.
Finally move itself to isolcated cgroup.
| void srsran::configure_cli11_with_gnb_appconfig_schema | ( | CLI::App & | app, |
| gnb_parsed_appconfig & | gnb_parsed_cfg ) |
Configures the given CLI11 application with the gNB application configuration schema.
NTN section
Converts a linear amplitude ratio to decibels.
| [in] | value | is the linear amplitude |
Converts a value in decibels to linear amplitude ratio.
| [in] | value | is in decibels |
Converts a value in decibels to linear power ratio.
| [in] | value | is in decibels |
Converts a linear power ratio to decibels.
| [in] | value | is the linear power |

| prb_bitmap srsran::convert_rbgs_to_prbs | ( | const rbg_bitmap & | rbgs, |
| crb_interval | bwp_rbs, | ||
| nominal_rbg_size | P ) |
Converts RBG bitmap to PRB bitmap given a BWP PRB dimensions and the nominal RBG-size.
|
inline |
Perfoms a segment-wise copy of the byte_buffer into a span<uint8_t> object. The length is limited by the length of src and dst, whichever is smaller.
| src | Source byte_buffer. |
| dst | Destination span<uint8_t>. |
Counts the number of bits set to one in an integer.
|
inline |
Query the CPU whether a CPU feature is supported in runtime.
| [in] | feature | Selects the given feature to query. |
|
inline |
|
inline |
Convert CRBs to PRBs within a BWP. CRBs and PRBs are assumed to have the same numerology of the provided BWP configuration.
|
inline |
Convert CRB within a BWP into a PRB. The CRB and PRB are assumed to use the same numerology as reference.
| bwp_cfg | BWP configuration of the respective CRB. |
| crb | CRB to be converted to PRB. |
|
inline |
Convert an interval of CRBs to an interval of PRBs, given the BWP CRB limits.
|
inline |
Convert CRB into PRB given the CRB assignment limits. The CRB and PRB are assumed to use the same numerology as reference.
| bwp_crb_lims | BWP CRB limits set based on the active BWP configuration. |
| crb | CRB to be converted to PRB. |
|
inline |
Conversion of CRBs to VRBs for a common search space and DCI format 1_0 as per TS38.211, clause 7.3.1.6.
| crbs | CRB interval to be converted to VRB interval. |
| coreset_crb_start | Start of the coreset CRB interval. |
| std::shared_ptr< amplitude_controller_factory > srsran::create_amplitude_controller_clipping_factory | ( | const amplitude_controller_clipping_config & | config | ) |
Creates a clipping amplitude controller factory.
| std::shared_ptr< amplitude_controller_factory > srsran::create_amplitude_controller_scaling_factory | ( | float | gain_dB_ | ) |
Creates a scaling amplitude controller factory.
| std::unique_ptr< resource_grid_pool > srsran::create_asynchronous_resource_grid_pool | ( | unsigned | expire_timeout_slots, |
| task_executor & | async_executor, | ||
| std::vector< std::unique_ptr< resource_grid > > | grids ) |
Creates an asynchronous resource grid pool.
It selects a different resource grid every time a resource grid is requested. The resource grid expires expire_timeout_slots after it is requested. When a resource grid expires, it is asynchronously set to zero.
The resource grid repetition is not deterministic but it is guaranteed that it is repeated after expire_timeout_slots.
| [in] | expire_timeout_slots | Number of slots after which resource grids are expired. |
| [in] | async_executor | Asynchronous task executor for setting the grid to zero. |
| [in] | grids | Resource grids, ownerships are transferred to the pool. |
| std::shared_ptr< channel_equalizer_factory > srsran::create_channel_equalizer_factory_zf | ( | ) |
Creates a Zero Forcing channel equalizer factory.
| std::shared_ptr< channel_modulation_factory > srsran::create_channel_modulation_sw_factory | ( | ) |
| std::shared_ptr< channel_precoder_factory > srsran::create_channel_precoder_factory | ( | const std::string & | precoder_type | ) |
Creates and returns a channel precoder factory.
| [in] | precoder_type | A string indicating the precoder implementation to create. Values: generic, auto, avx2. |
| std::shared_ptr< crc_calculator_factory > srsran::create_crc_calculator_factory_sw | ( | const std::string & | type | ) |
| csi_report_configuration srsran::create_csi_report_configuration | ( | const csi_meas_config & | csi_meas | ) |
Returns the Chanel State Information (CSI) report configuration parameters based on CSI-MeasConfig.
| csi_meas | CSI-RS measurement configuration. |
| std::unique_ptr< srs_cu_cp::cu_cp > srsran::create_cu_cp | ( | const srs_cu_cp::cu_cp_configuration & | cfg_ | ) |
Creates an instance of an CU-CP.
| std::unique_ptr< srs_cu_up::cu_up_interface > srsran::create_cu_up | ( | const srs_cu_up::cu_up_configuration & | cfg_ | ) |
Creates an instance of an CU-UP.
| std::shared_ptr< dft_processor_factory > srsran::create_dft_processor_factory_fftw | ( | const std::string & | optimization_flag, |
| double | plan_creation_timeout_s, | ||
| bool | avoid_wisdom = false, | ||
| const std::string & | wisdom_filename = "" ) |
Creates a DFT processor factory based on FFTW library.
| [in] | optimization_flag | FFTW planning optimization mode. Leave empty for default value. Available modes:
|
| [in] | plan_creation_timeout_s | FFTW plan creation maximum duration in seconds. Set to zero or lower for infinite. |
| [in] | avoid_wisdom | Set to true to avoid loading FFTW wisdom from a file. |
| [in] | wisdom_filename | FFTW wisdom file name. Leave empty for default value. It is ignored if the option avoid_wisdom is true. |
nullptr. estimate.
|
inline |
Creates an optimal DFT processor factory based on FFTW library.
| [in] | avoid_wisdom | Set to true to avoid loading FFTW wisdom from a file. |
| [in] | wisdom_filename | FFTW wisdom file name. Leave empty for default value. It is ignored if the option avoid_wisdom is true. |
nullptr.
|
inline |
Creates a sub-optimal DFT processor factory based on FFTW library.
| [in] | avoid_wisdom | Set to true to avoid loading FFTW wisdom from a file. |
| [in] | wisdom_filename | FFTW wisdom file name. Leave empty for default value. It is ignored if the option avoid_wisdom is true. |
nullptr. | std::shared_ptr< dft_processor_factory > srsran::create_dft_processor_factory_generic | ( | ) |
Creates a DFT processor factory based on a generic Radix-2 DFT implementation.
| std::unique_ptr< downlink_processor_pool > srsran::create_dl_processor_pool | ( | downlink_processor_pool_config | config | ) |
Creates and returns a downlink processor pool.
| std::shared_ptr< dmrs_pbch_processor_factory > srsran::create_dmrs_pbch_processor_factory_sw | ( | std::shared_ptr< pseudo_random_generator_factory > | prg_factory | ) |
| std::shared_ptr< dmrs_pdcch_processor_factory > srsran::create_dmrs_pdcch_processor_factory_sw | ( | std::shared_ptr< pseudo_random_generator_factory > | prg_factory | ) |
| std::shared_ptr< dmrs_pdsch_processor_factory > srsran::create_dmrs_pdsch_processor_factory_sw | ( | std::shared_ptr< pseudo_random_generator_factory > | prg_factory | ) |
| std::shared_ptr< dmrs_pucch_estimator_factory > srsran::create_dmrs_pucch_estimator_factory_sw | ( | std::shared_ptr< pseudo_random_generator_factory > | prg_factory, |
| std::shared_ptr< low_papr_sequence_collection_factory > | lpc_factory, | ||
| std::shared_ptr< port_channel_estimator_factory > | ch_estimator_factory ) |
| std::shared_ptr< dmrs_pusch_estimator_factory > srsran::create_dmrs_pusch_estimator_factory_sw | ( | std::shared_ptr< pseudo_random_generator_factory > | prg_factory, |
| std::shared_ptr< port_channel_estimator_factory > | ch_estimator_factory ) |
| std::shared_ptr< downlink_processor_factory > srsran::create_downlink_processor_factory_hw | ( | const downlink_processor_factory_hw_config & | config | ) |
Creates a full hardware-accelerated based downlink processor factory.
| std::shared_ptr< downlink_processor_factory > srsran::create_downlink_processor_factory_sw | ( | const downlink_processor_factory_sw_config & | config | ) |
Creates a full software based downlink processor factory.
| std::shared_ptr< lower_phy_downlink_processor_factory > srsran::create_downlink_processor_factory_sw | ( | std::shared_ptr< pdxch_processor_factory > | pdxch_proc_factory, |
| std::shared_ptr< amplitude_controller_factory > | amplitude_control_factory ) |
Creates a software based downlink processor factory.
| std::unique_ptr< mac_interface > srsran::create_du_high_mac | ( | const mac_config & | mac_cfg, |
| const srs_du::du_test_config & | test_cfg ) |
Create a MAC instance for DU-high. In case the test mode is enabled, the MAC messages will be intercepted.
| std::unique_ptr< radio_unit > srsran::create_dummy_ru | ( | const ru_dummy_configuration & | config, |
| ru_dummy_dependencies & | dependencies ) |
Returns a generic Radio Unit using the given configuration.
| std::unique_ptr< radio_factory > srsran::create_dynamic_radio_factory | ( | ) |
Dynamic library radio factory creation entry point.
Implement a radio factory with this function for loading the radio factory through a dynamic library.
| std::unique_ptr< dlt_pcap > srsran::create_e1ap_pcap | ( | const std::string & | filename, |
| task_executor & | backend_exec ) |
| std::unique_ptr< e2_interface > srsran::create_e2 | ( | e2ap_configuration & | e2ap_cfg_, |
| timer_factory | timers_, | ||
| e2_message_notifier & | e2_pdu_notifier_, | ||
| e2_subscription_manager & | e2_subscriber_, | ||
| e2sm_manager & | e2sm_manager_ ) |
Creates an instance of an E2 interface, notifying outgoing packets on the specified listener object.
| std::unique_ptr< e2_interface > srsran::create_e2_entity | ( | e2ap_configuration & | e2ap_cfg_, |
| e2_connection_client * | e2_client_, | ||
| e2_du_metrics_interface & | e2_du_metrics_, | ||
| srs_du::f1ap_ue_id_translator & | f1ap_ue_id_translator_, | ||
| du_configurator & | du_configurator_, | ||
| timer_factory | timers_, | ||
| task_executor & | e2_exec_ ) |
Creates a instance of an E2 interface (with subscription manager)
| std::unique_ptr< e2_interface > srsran::create_e2_with_task_exec | ( | e2ap_configuration & | e2ap_cfg_, |
| timer_factory | timers_, | ||
| e2_message_notifier & | e2_pdu_notifier_, | ||
| e2_subscription_manager & | e2_subscription_mngr_, | ||
| e2sm_manager & | e2sm_manager_, | ||
| task_executor & | e2_exec_ ) |
Creates a decorated instance of an E2 interface (with a task executor)
| std::unique_ptr< e2ap_packer > srsran::create_e2ap_asn1_packer | ( | sctp_network_gateway_data_handler & | gw_, |
| e2_message_handler & | e2_, | ||
| dlt_pcap & | pcap_ ) |
| std::unique_ptr< dlt_pcap > srsran::create_e2ap_pcap | ( | const std::string & | filename, |
| task_executor & | backend_exec ) |
| std::unique_ptr< e2sm_handler > srsran::create_e2sm | ( | std::string | e2sm_version, |
| e2sm_kpm_meas_provider & | meas_provider ) |
create instance of e2sm handler
| std::unique_ptr< task_execution_context > srsran::create_execution_context | ( | const execution_config_helper::priority_multiqueue_worker & | params | ) |
Create a multi-priority worker execution context.
| std::unique_ptr< task_execution_context > srsran::create_execution_context | ( | const execution_config_helper::single_worker & | params | ) |
Create a single worker execution context.
| std::unique_ptr< task_execution_context > srsran::create_execution_context | ( | const execution_config_helper::worker_pool & | params | ) |
Create a worker pool execution context.
| std::unique_ptr< dlt_pcap > srsran::create_f1ap_pcap | ( | const std::string & | filename, |
| task_executor & | backend_exec ) |
| std::unique_ptr< resource_grid_pool > srsran::create_generic_resource_grid_pool | ( | std::vector< std::unique_ptr< resource_grid > > | grids | ) |
Creates a generic resource grid pool.
It selects a different resource grid every time a resource grid is requested. The resource grid is repeated every grids.size() requests.
| [in] | grids | Resource grids, ownerships are transferred to the pool. |
| std::unique_ptr< radio_unit > srsran::create_generic_ru | ( | ru_generic_configuration & | config | ) |
Returns a generic Radio Unit using the given configuration.
| std::unique_ptr< gtpu_teid_pool > srsran::create_gtpu_allocator | ( | const gtpu_allocator_creation_request & | msg | ) |
| std::unique_ptr< gtpu_demux > srsran::create_gtpu_demux | ( | const gtpu_demux_creation_request & | msg | ) |
Creates an instance of an GTP-U demux object.
| std::unique_ptr< gtpu_echo > srsran::create_gtpu_echo | ( | gtpu_echo_creation_message & | msg | ) |
Creates an instance of a GTP-U entity.
| std::unique_ptr< dlt_pcap > srsran::create_gtpu_pcap | ( | const std::string & | filename, |
| task_executor & | backend_exec ) |
| std::unique_ptr< gtpu_tunnel_ngu > srsran::create_gtpu_tunnel_ngu | ( | gtpu_tunnel_ngu_creation_message & | msg | ) |
Creates an instance of a GTP-U entity.
| std::unique_ptr< srsran::interpolator > srsran::create_interpolator | ( | ) |
Returns an interpolator.
| std::unique_ptr< io_broker > srsran::create_io_broker | ( | io_broker_type | type, |
| io_broker_config | config = {} ) |
Creates an instance of an IO broker.
| std::shared_ptr< ldpc_decoder_factory > srsran::create_ldpc_decoder_factory_sw | ( | const std::string & | dec_type | ) |
| std::shared_ptr< ldpc_encoder_factory > srsran::create_ldpc_encoder_factory_sw | ( | const std::string & | enc_type | ) |
| std::shared_ptr< ldpc_rate_dematcher_factory > srsran::create_ldpc_rate_dematcher_factory_sw | ( | const std::string & | dematcher_type | ) |
| std::shared_ptr< ldpc_rate_matcher_factory > srsran::create_ldpc_rate_matcher_factory_sw | ( | ) |
| std::shared_ptr< ldpc_segmenter_rx_factory > srsran::create_ldpc_segmenter_rx_factory_sw | ( | ) |
| std::shared_ptr< ldpc_segmenter_tx_factory > srsran::create_ldpc_segmenter_tx_factory_sw | ( | std::shared_ptr< crc_calculator_factory > | crc_factory | ) |
| std::shared_ptr< low_papr_sequence_collection_factory > srsran::create_low_papr_sequence_collection_sw_factory | ( | std::shared_ptr< low_papr_sequence_generator_factory > | lpg_factory | ) |
| std::shared_ptr< low_papr_sequence_generator_factory > srsran::create_low_papr_sequence_generator_sw_factory | ( | ) |
| std::unique_ptr< lower_phy > srsran::create_lower_phy | ( | lower_phy_configuration & | config | ) |
Creates a generic lower PHY.
|
inline |
Helper class that creates the lower PHY factory using the given configuration.
| std::shared_ptr< lower_phy_factory > srsran::create_lower_phy_factory_sw | ( | std::shared_ptr< lower_phy_downlink_processor_factory > | downlink_proc_factory, |
| std::shared_ptr< lower_phy_uplink_processor_factory > | uplink_proc_factory ) |
Creates a software based lower physical layer factory.
| std::unique_ptr< mac_interface > srsran::create_mac | ( | const mac_config & | mac_cfg | ) |
| std::unique_ptr< mac_pcap > srsran::create_mac_pcap | ( | const std::string & | filename, |
| mac_pcap_type | pcap_type, | ||
| task_executor & | backend_exec ) |
| std::unique_ptr< dlt_pcap > srsran::create_ngap_pcap | ( | const std::string & | filename, |
| task_executor & | backend_exec ) |
| std::unique_ptr< dlt_pcap > srsran::create_null_dlt_pcap | ( | ) |
Creates a layer DLT PCAP sink that writes the incoming PDUs to a pcap file.
| std::unique_ptr< mac_pcap > srsran::create_null_mac_pcap | ( | ) |
| std::unique_ptr< rlc_pcap > srsran::create_null_rlc_pcap | ( | ) |
| std::shared_ptr< nzp_csi_rs_generator_factory > srsran::create_nzp_csi_rs_generator_factory_sw | ( | std::shared_ptr< pseudo_random_generator_factory > | prg_factory | ) |
| std::shared_ptr< nzp_csi_rs_generator_factory > srsran::create_nzp_csi_rs_generator_pool_factory | ( | std::shared_ptr< nzp_csi_rs_generator_factory > | generator_factory, |
| unsigned | nof_concurrent_threads ) |
| std::shared_ptr< ofdm_demodulator_factory > srsran::create_ofdm_demodulator_factory_generic | ( | ofdm_factory_generic_configuration & | config | ) |
Creates a generic OFDM demodulator factory.
| std::shared_ptr< ofdm_modulator_factory > srsran::create_ofdm_modulator_factory_generic | ( | ofdm_factory_generic_configuration & | config | ) |
Creates a generic OFDM modulator factory.
| std::shared_ptr< ofdm_prach_demodulator_factory > srsran::create_ofdm_prach_demodulator_factory_sw | ( | std::shared_ptr< dft_processor_factory > | dft_factory, |
| sampling_rate | srate ) |
Creates a software generic PRACH demodulator.
| [in] | dft_factory | DFT factory. |
| [in] | srate | Sampling rate. |
| std::unique_ptr< radio_unit > srsran::create_ofh_ru | ( | const ru_ofh_configuration & | config, |
| ru_ofh_dependencies && | dependencies ) |
Returns an Open FrontHaul Radio Unit using the given configuration and dependencies.
| std::shared_ptr< pbch_encoder_factory > srsran::create_pbch_encoder_factory_sw | ( | std::shared_ptr< crc_calculator_factory > | crc_factory, |
| std::shared_ptr< pseudo_random_generator_factory > | prg_factory, | ||
| std::shared_ptr< polar_factory > | polar_factory ) |
| std::shared_ptr< pbch_modulator_factory > srsran::create_pbch_modulator_factory_sw | ( | std::shared_ptr< channel_modulation_factory > | modulator_factory, |
| std::shared_ptr< pseudo_random_generator_factory > | prg_factory ) |
| std::shared_ptr< pdcch_encoder_factory > srsran::create_pdcch_encoder_factory_sw | ( | std::shared_ptr< crc_calculator_factory > | crc_factory, |
| std::shared_ptr< polar_factory > | encoder_factory ) |
| std::shared_ptr< pdcch_modulator_factory > srsran::create_pdcch_modulator_factory_sw | ( | std::shared_ptr< channel_modulation_factory > | modulator_factory, |
| std::shared_ptr< pseudo_random_generator_factory > | prg_factory ) |
| std::shared_ptr< pdcch_processor_factory > srsran::create_pdcch_processor_factory_sw | ( | std::shared_ptr< pdcch_encoder_factory > | encoder_factory, |
| std::shared_ptr< pdcch_modulator_factory > | modulator_factory, | ||
| std::shared_ptr< dmrs_pdcch_processor_factory > | dmrs_factory ) |
| std::shared_ptr< pdcch_processor_factory > srsran::create_pdcch_processor_pool_factory | ( | std::shared_ptr< pdcch_processor_factory > | processor_factory, |
| unsigned | nof_concurrent_threads ) |
| std::unique_ptr< pdcp_entity > srsran::create_pdcp_entity | ( | pdcp_entity_creation_message & | msg | ) |
Creates an instance of a PDCP entity.
| std::shared_ptr< pdsch_processor_factory > srsran::create_pdsch_concurrent_processor_factory_sw | ( | std::shared_ptr< crc_calculator_factory > | crc_factory, |
| std::shared_ptr< ldpc_encoder_factory > | ldpc_enc_factory, | ||
| std::shared_ptr< ldpc_rate_matcher_factory > | ldpc_rm_factory, | ||
| std::shared_ptr< pseudo_random_generator_factory > | prg_factory, | ||
| std::shared_ptr< channel_modulation_factory > | modulator_factory, | ||
| std::shared_ptr< dmrs_pdsch_processor_factory > | dmrs_factory, | ||
| task_executor & | executor, | ||
| unsigned | nof_concurrent_threads ) |
| std::shared_ptr< pdsch_encoder_factory > srsran::create_pdsch_encoder_factory_hw | ( | const pdsch_encoder_factory_hw_configuration & | config | ) |
| std::shared_ptr< pdsch_encoder_factory > srsran::create_pdsch_encoder_factory_sw | ( | pdsch_encoder_factory_sw_configuration & | config | ) |
| std::shared_ptr< pdsch_processor_factory > srsran::create_pdsch_lite_processor_factory_sw | ( | std::shared_ptr< ldpc_segmenter_tx_factory > | segmenter_factory, |
| std::shared_ptr< ldpc_encoder_factory > | encoder_factory, | ||
| std::shared_ptr< ldpc_rate_matcher_factory > | rate_matcher_factory, | ||
| std::shared_ptr< pseudo_random_generator_factory > | scrambler_factory, | ||
| std::shared_ptr< channel_modulation_factory > | modulator_factory, | ||
| std::shared_ptr< dmrs_pdsch_processor_factory > | dmrs_factory ) |
| std::shared_ptr< pdsch_modulator_factory > srsran::create_pdsch_modulator_factory_sw | ( | std::shared_ptr< channel_modulation_factory > | modulator_factory, |
| std::shared_ptr< pseudo_random_generator_factory > | prg_factory ) |
| std::shared_ptr< pdsch_processor_factory > srsran::create_pdsch_processor_factory_sw | ( | std::shared_ptr< pdsch_encoder_factory > | encoder_factory, |
| std::shared_ptr< pdsch_modulator_factory > | modulator_factory, | ||
| std::shared_ptr< dmrs_pdsch_processor_factory > | dmrs_factory ) |
| std::shared_ptr< pdsch_processor_factory > srsran::create_pdsch_processor_pool | ( | std::shared_ptr< pdsch_processor_factory > | pdsch_proc_factory, |
| unsigned | max_nof_processors ) |
| std::shared_ptr< pdxch_processor_factory > srsran::create_pdxch_processor_factory_sw | ( | unsigned | request_queue_size, |
| std::shared_ptr< ofdm_modulator_factory > | ofdm_mod_factory ) |
Creates a software based PDxCH processor factory.
| [in] | request_queue_size | Number of PDxCH processing requests that can be enqueued. |
| [in] | ofdm_mod_factory | OFDM modulator factory. |
| std::unique_ptr< radio_factory > srsran::create_plugin_radio_factory | ( | std::string | driver_name | ) |
| std::shared_ptr< polar_factory > srsran::create_polar_factory_sw | ( | ) |
| std::shared_ptr< port_channel_estimator_factory > srsran::create_port_channel_estimator_factory_sw | ( | std::shared_ptr< dft_processor_factory > | dft_f | ) |
| std::unique_ptr< prach_buffer > srsran::create_prach_buffer_long | ( | unsigned | max_nof_antennas, |
| unsigned | max_nof_fd_occasions ) |
Creates a long PRACH sequence buffer.
Long buffers contain 839-element PRACH sequences for up to 4 OFDM symbols and a given maximum number of frequency-domain occasions.
| [in] | max_nof_antennas | Maximum number of antennas. |
| [in] | max_nof_fd_occasions | Maximum number of frequency-domain occasions. |
| std::unique_ptr< prach_buffer_pool > srsran::create_prach_buffer_pool | ( | std::vector< std::unique_ptr< prach_buffer > > && | elements | ) |
Returns a pool for the given PRACH buffers.
| std::unique_ptr< prach_buffer > srsran::create_prach_buffer_short | ( | unsigned | max_nof_antennas, |
| unsigned | max_nof_td_occasions, | ||
| unsigned | max_nof_fd_occasions ) |
Creates a short PRACH sequence buffer.
Short buffers contain 139-element PRACH sequences for up to prach_constants::SHORT_SEQUENCE_MAX_NOF_SYMBOLS symbols per occasion.
| [in] | max_nof_antennas | Maximum number of antennas. |
| [in] | max_nof_td_occasions | Maximum number of time-domain occasions. |
| [in] | max_nof_fd_occasions | Maximum number of frequency-domain occasions. |
| std::shared_ptr< prach_detector_factory > srsran::create_prach_detector_factory_sw | ( | std::shared_ptr< dft_processor_factory > | dft_factory, |
| std::shared_ptr< prach_generator_factory > | prach_gen_factory, | ||
| const prach_detector_factory_sw_configuration & | config = {} ) |
| std::shared_ptr< prach_detector_factory > srsran::create_prach_detector_pool_factory | ( | std::shared_ptr< prach_detector_factory > | factory, |
| unsigned | nof_concurrent_threads ) |
| std::shared_ptr< prach_generator_factory > srsran::create_prach_generator_factory_sw | ( | ) |
| std::shared_ptr< prach_processor_factory > srsran::create_prach_processor_factory_sw | ( | std::shared_ptr< ofdm_prach_demodulator_factory > | ofdm_prach_factory, |
| task_executor & | async_task_executor, | ||
| sampling_rate | srate, | ||
| unsigned | max_nof_ports, | ||
| unsigned | max_nof_concurrent_requests ) |
Creates a software based PRACH processor factory.
| ofdm_prach_factory | OFDM demodulator for PRACH factory. |
| async_task_executor | Task executor for demodulating PRACH asynchronously. |
| srate | Sampling rate. |
| max_nof_ports | Maximum number of PRACH reception ports. |
| max_nof_concurrent_requests | Maximum number of concurrent PRACH processing requests. |
| std::shared_ptr< pseudo_random_generator_factory > srsran::create_pseudo_random_generator_sw_factory | ( | ) |
| std::shared_ptr< pss_processor_factory > srsran::create_pss_processor_factory_sw | ( | ) |
| std::shared_ptr< pucch_demodulator_factory > srsran::create_pucch_demodulator_factory_sw | ( | std::shared_ptr< channel_equalizer_factory > | equalizer_factory, |
| std::shared_ptr< channel_modulation_factory > | demodulation_factory, | ||
| std::shared_ptr< pseudo_random_generator_factory > | prg_factory ) |
| std::shared_ptr< pucch_detector_factory > srsran::create_pucch_detector_factory_sw | ( | std::shared_ptr< low_papr_sequence_collection_factory > | lpcf, |
| std::shared_ptr< pseudo_random_generator_factory > | prgf, | ||
| std::shared_ptr< channel_equalizer_factory > | eqzrf ) |
| std::shared_ptr< pucch_processor_factory > srsran::create_pucch_processor_factory_sw | ( | std::shared_ptr< dmrs_pucch_estimator_factory > | dmrs_factory, |
| std::shared_ptr< pucch_detector_factory > | detector_factory, | ||
| std::shared_ptr< pucch_demodulator_factory > | demodulator_factory, | ||
| std::shared_ptr< uci_decoder_factory > | decoder_factory, | ||
| const channel_estimate::channel_estimate_dimensions & | channel_estimate_dimensions ) |
| std::shared_ptr< pucch_processor_factory > srsran::create_pucch_processor_pool_factory | ( | std::shared_ptr< pucch_processor_factory > | factory, |
| unsigned | nof_concurrent_threads ) |
| std::shared_ptr< pusch_decoder_factory > srsran::create_pusch_decoder_factory_hw | ( | const pusch_decoder_factory_hw_configuration & | config | ) |
| std::shared_ptr< pusch_decoder_factory > srsran::create_pusch_decoder_factory_sw | ( | pusch_decoder_factory_sw_configuration | config | ) |
| std::shared_ptr< pusch_demodulator_factory > srsran::create_pusch_demodulator_factory_sw | ( | std::shared_ptr< channel_equalizer_factory > | equalizer_factory, |
| std::shared_ptr< channel_modulation_factory > | demodulation_factory, | ||
| std::shared_ptr< pseudo_random_generator_factory > | prg_factory, | ||
| bool | enable_evm = false, | ||
| bool | enable_post_eq_sinr = false ) |
| std::shared_ptr< pusch_processor_factory > srsran::create_pusch_processor_factory_sw | ( | pusch_processor_factory_sw_configuration & | config | ) |
| std::shared_ptr< pusch_processor_factory > srsran::create_pusch_processor_pool | ( | std::shared_ptr< pusch_processor_factory > | factory, |
| unsigned | max_nof_processors ) |
| std::shared_ptr< puxch_processor_factory > srsran::create_puxch_processor_factory_sw | ( | unsigned | request_queue_size, |
| std::shared_ptr< ofdm_demodulator_factory > | ofdm_demod_factory ) |
Creates a software based PUxCH processor factory.
| request_queue_size | Number of PUxCH processing requests that can be enqueued. |
| ofdm_demod_factory | OFDM demodulator factory. |
| std::unique_ptr< radio_factory > srsran::create_radio_factory | ( | std::string | driver_name | ) |
Creates a radio factory by selecting an existent factory or loading the appropriate dynamic library.
By default, this function creates a radio factory from the statically linked ones (i.e., uhd).
If the driver_name does not match with one of the statically linked factories, this function dynamically loads a shared library corresponding to the specified driver name and retrieves the factory creation function from it.
The naming convention for the shared library is as follows: if the driver name is custom, the library name is expected to be libsrsran_radio_custom.so. The factory creation function within the dynamic library is expected to implement the function prototype create_dynamic_radio_factory.
Ensure that the LD_LIBRARY_PATH environment variable includes the path where the dynamic libraries are located.
| [in] | driver_name | Selects the type of radio factory for example uhd or zmq. |
nullptr. | std::shared_ptr< resource_grid_factory > srsran::create_resource_grid_factory | ( | std::shared_ptr< channel_precoder_factory > | precoder_factory | ) |
Creates and returns a resource grid factory that instantiates resource grids.
| [in] | precoder_factory | Channel precoder factory. |
| std::unique_ptr< resource_grid_mapper > srsran::create_resource_grid_mapper | ( | unsigned | nof_ports, |
| unsigned | nof_subc, | ||
| srsran::resource_grid_writer & | writer ) |
Creates a resource grid mapper with an ideal precoding.
| std::unique_ptr< rlc_entity > srsran::create_rlc_entity | ( | const rlc_entity_creation_message & | msg | ) |
Creates an instance of a RLC bearer.
| std::unique_ptr< rlc_pcap > srsran::create_rlc_pcap | ( | const std::string & | filename, |
| task_executor & | backend_exec, | ||
| bool | srb_pdus_enabled = true, | ||
| bool | drb_pdus_enabled = true ) |
Creates an RLC pcap writer to a file.
| std::unique_ptr< rx_buffer_pool_controller > srsran::create_rx_buffer_pool | ( | const rx_buffer_pool_config & | config | ) |
Creates a receive buffer pool.
| std::unique_ptr< mac_scheduler > srsran::create_scheduler | ( | const scheduler_config & | sched_cfg | ) |
Create L2 scheduler object.
| std::unique_ptr< scheduler_policy > srsran::create_scheduler_strategy | ( | const scheduler_strategy_params & | params | ) |
| std::unique_ptr< sctp_network_gateway > srsran::create_sctp_network_gateway | ( | sctp_network_gateway_creation_message | msg | ) |
Creates an instance of an network gateway.
| std::shared_ptr< short_block_detector_factory > srsran::create_short_block_detector_factory_sw | ( | ) |
| std::unique_ptr< short_block_encoder > srsran::create_short_block_encoder | ( | ) |
| std::shared_ptr< ssb_processor_factory > srsran::create_ssb_processor_factory_sw | ( | ssb_processor_factory_sw_configuration & | config | ) |
| std::shared_ptr< ssb_processor_factory > srsran::create_ssb_processor_pool_factory | ( | std::shared_ptr< ssb_processor_factory > | processor_factory, |
| unsigned | nof_concurrent_threads ) |
| std::shared_ptr< sss_processor_factory > srsran::create_sss_processor_factory_sw | ( | ) |
| std::shared_ptr< uci_decoder_factory > srsran::create_uci_decoder_factory_generic | ( | std::shared_ptr< short_block_detector_factory > | decoder_factory, |
| std::shared_ptr< polar_factory > | polar_factory, | ||
| std::shared_ptr< crc_calculator_factory > | crc_calc_factory ) |
| std::unique_ptr< udp_network_gateway > srsran::create_udp_network_gateway | ( | udp_network_gateway_creation_message | msg | ) |
Creates an instance of an network gateway.
| std::shared_ptr< ulsch_demultiplex_factory > srsran::create_ulsch_demultiplex_factory_sw | ( | ) |
| std::shared_ptr< lower_phy_uplink_processor_factory > srsran::create_uplink_processor_factory_sw | ( | std::shared_ptr< prach_processor_factory > | prach_proc_factory, |
| std::shared_ptr< puxch_processor_factory > | puxch_proc_factory ) |
Creates a software based uplink processor factory.
| std::unique_ptr< uplink_processor_pool > srsran::create_uplink_processor_pool | ( | uplink_processor_pool_config | config | ) |
Creates and returns an uplink processor pool.
| std::unique_ptr< upper_phy > srsran::create_upper_phy | ( | const upper_phy_params & | params, |
| upper_phy_rg_gateway * | rg_gateway, | ||
| span< task_executor * > | dl_executors, | ||
| task_executor * | ul_executor, | ||
| upper_phy_rx_symbol_request_notifier * | rx_symbol_request_notifier ) |
| std::unique_ptr< upper_phy_factory > srsran::create_upper_phy_factory | ( | std::shared_ptr< downlink_processor_factory > | downlink_proc_factory, |
| std::shared_ptr< resource_grid_factory > | rg_factory ) |
Creates and returns an upper PHY factory.
| std::unique_ptr< CLI::Config > srsran::create_yaml_config_parser | ( | ) |
Creates an instance of a YAML configuration parser.
|
inline |
Gets the number of CSI-RS antenna ports from the PMI codebook type.
| unsigned srsran::csi_report_get_size_pmi | ( | pmi_codebook_type | codebook, |
| csi_report_data::ri_type | ri ) |
Gets the PMI field bit-width.
|
inline |
| csi_report_pmi srsran::csi_report_unpack_pmi | ( | const csi_report_packed & | packed, |
| pmi_codebook_type | codebook, | ||
| csi_report_data::ri_type | ri ) |
Unpacks PMI.
| csi_report_data srsran::csi_report_unpack_pucch | ( | const csi_report_packed & | packed, |
| const csi_report_configuration & | config ) |
Unpacks Channel State Information (CSI) report multiplexed in PUCCH.
The unpacking is CSI report unpacking defined in TS38.212 Section 6.3.1.1.2.
| [in] | packed | Packed CSI report. |
| [in] | config | CSI report configuration. |
| csi_report_data srsran::csi_report_unpack_pusch | ( | const csi_report_packed & | csi1_packed, |
| const csi_report_configuration & | config ) |
Unpacks Channel State Information (CSI) report multiplexed in PUSCH containing CSI Part 1 only.
The CSI report is defined in TS38.212 Section 6.3.2.1.2.
| [in] | csi1_packed | Packed CSI Part 1 report. |
| [in] | config | CSI report configuration. |
| csi_report_data srsran::csi_report_unpack_pusch | ( | const csi_report_packed & | csi1_packed, |
| const csi_report_packed & | csi2_packed, | ||
| const csi_report_configuration & | config ) |
Unpacks a Channel State Information (CSI) report multiplexed in PUSCH containing CSI Part 1 and Part 2.
The CSI report is defined in TS38.212 Section 6.3.2.1.2.
| [in] | csi1_packed | Packed CSI Part 1 report. |
| [in] | csi2_packed | Packed CSI Part 2 report. |
| [in] | config | CSI report configuration. |
| csi_report_data::ri_type srsran::csi_report_unpack_ri | ( | const csi_report_packed & | ri_packed, |
| const ri_restriction_type & | ri_restriction ) |
Unpacks RI as per TS38.212 Section 6.3.1.1.2. and TS38.214 Section 5.2.2.2.1.
| csi_report_data::wideband_cqi_type srsran::csi_report_unpack_wideband_cqi | ( | csi_report_packed | packed | ) |
|
inline |
|
inline |
| dci_payload srsran::dci_0_0_c_rnti_pack | ( | const dci_0_0_c_rnti_configuration & | config | ) |
Packs a DCI format 0_0 scrambled by C-RNTI, CS-RNTI or MCS-C-RNTI.
| dci_payload srsran::dci_0_0_tc_rnti_pack | ( | const dci_0_0_tc_rnti_configuration & | config | ) |
Packs a DCI format 0_0 scrambled by TC-RNTI.
| dci_payload srsran::dci_0_1_pack | ( | const dci_0_1_configuration & | config | ) |
Packs a DCI format 0_1 scrambled by C-RNTI, CS-RNTI, SP-CSI-RNTI or MCS-C-RNTI.
| dci_payload srsran::dci_1_0_c_rnti_pack | ( | const dci_1_0_c_rnti_configuration & | config | ) |
Packs a DCI format 1_0 scrambled by C-RNTI, CS-RNTI or MCS-C-RNTI.
| dci_payload srsran::dci_1_0_p_rnti_pack | ( | const dci_1_0_p_rnti_configuration & | config | ) |
Packs a DCI format 1_0 scrambled by P-RNTI.
| dci_payload srsran::dci_1_0_ra_rnti_pack | ( | const dci_1_0_ra_rnti_configuration & | config | ) |
Packs a DCI format 1_0 scrambled by RA-RNTI.
| dci_payload srsran::dci_1_0_si_rnti_pack | ( | const dci_1_0_si_rnti_configuration & | config | ) |
Packs a DCI format 1_0 scrambled by SI-RNTI.
| dci_payload srsran::dci_1_0_tc_rnti_pack | ( | const dci_1_0_tc_rnti_configuration & | config | ) |
Packs a DCI format 1_0 scrambled by TC-RNTI.
| dci_payload srsran::dci_1_1_pack | ( | const dci_1_1_configuration & | config | ) |
Packs a DCI format 1_1 scrambled by C-RNTI, CS-RNTI, SP-CSI-RNTI or MCS-C-RNTI.
|
inline |
|
inline |
| dci_payload srsran::dci_rar_pack | ( | const dci_rar_configuration & | config | ) |
Packs a DCI transmitted in a Random Access Response.
|
inline |
|
inline |
|
inline |
Decode C-RNTI MAC CE.
| expected< long_bsr_report > srsran::decode_lbsr | ( | bsr_format | format, |
| byte_buffer_view | payload ) |
Decode Long BSR.
|
inline |
Decode Short BSR.
|
inline |
Decode Single Entry PHR.
| auto srsran::defer_to | ( | TaskExecutor & | exec | ) |
Awaiter that defers continuation to execution context provided by given executor.
| void srsran::demodulate_soft_QAM16 | ( | span< log_likelihood_ratio > | llrs, |
| span< const cf_t > | symbols, | ||
| span< const float > | noise_vars ) |
Soft-demodulates 16-QAM modulation.
| [out] | llrs | Resultant log-likelihood ratios. |
| [in] | symbols | Input constellation symbols. |
| [in] | noise_vars | Noise variance for each symbol in the constellation. |
| void srsran::demodulate_soft_QAM256 | ( | span< log_likelihood_ratio > | llrs, |
| span< const cf_t > | symbols, | ||
| span< const float > | noise_vars ) |
Soft-demodulates 256-QAM modulation.
| [out] | llrs | Resultant log-likelihood ratios. |
| [in] | symbols | Input constellation symbols. |
| [in] | noise_vars | Noise variance for each symbol in the constellation. |
| void srsran::demodulate_soft_QAM64 | ( | span< log_likelihood_ratio > | llrs, |
| span< const cf_t > | symbols, | ||
| span< const float > | noise_vars ) |
Soft-demodulates 64-QAM modulation.
| [out] | llrs | Resultant log-likelihood ratios. |
| [in] | symbols | Input constellation symbols. |
| [in] | noise_vars | Noise variance for each symbol in the constellation. |
| void srsran::demodulate_soft_QPSK | ( | span< log_likelihood_ratio > | llrs, |
| span< const cf_t > | symbols, | ||
| span< const float > | noise_vars ) |
Soft-demodulates QPSK modulation.
| [out] | llrs | Resultant log-likelihood ratios. |
| [in] | symbols | Input constellation symbols. |
| [in] | noise_vars | Noise variance for each symbol in the constellation. |
| void srsran::derive_auto_params | ( | gnb_appconfig & | gnb_params | ) |
This function takes the appconfig and generates the values for the parameters set to be auto-configured.
| std::enable_if_t< std::is_same< ReturnType, void >::value, async_task< void > > srsran::dispatch_and_resume_on | ( | DispatchTaskExecutor & | dispatch_exec, |
| CurrentTaskExecutor & | return_exec, | ||
| Callable && | callable ) |
| std::enable_if_t< not std::is_same< ReturnType, void >::value, async_task< ReturnType > > srsran::dispatch_and_resume_on | ( | DispatchTaskExecutor & | dispatch_exec, |
| CurrentTaskExecutor & | return_exec, | ||
| Callable && | callable ) |
Performs an integer division rounding up.
| [in] | num | Numerator. |
| [out] | den | Denominator. |
Performs an integer division rounding to the nearest integer.
| [in] | num | Numerator. |
| [out] | den | Denominator. |
|
inline |
Helper function to generate DMRS sequences.
This function generates DMRS sequences based on a pseudo-random sequence generation. It generates nof_dmrs_per_rb for every active resource block given in rb_mask and skips the nof_dmrs_per_rb for every inactive resource block.
| [out] | sequence | Provides the destination storage for the generated sequence. |
| [in,out] | prg | Provides the pseudo-random generator to use. |
| [in] | amplitude | Provides the sequence amplitude. |
| [in] | reference_point_k_rb | Indicates the RB index for reference. |
| [in] | nof_dmrs_per_rb | Indicates the number of DMRS to generate per active RB. |
| [in] | rb_mask | Indicates the active resource blocks. |
|
inline |
|
inline |
|
inline |
|
inline |
Convert E1AP NG DL UP Unchanged to its boolean representation.
| ng_dl_up_unchanged | The E1AP NG DL UP Unchanged. |
|
inline |
Convert E1AP ASN.1 PDCP Count to e1ap_pdcp_count type.
|
inline |
Convert E1AP ASN.1 Cell Group Info to std::vector<e1ap_cell_group_info_item> type.
|
inline |
Convert E1AP ASN.1 CGI to nr_cell_global_id_t type.
|
inline |
Converts E1AP ASN.1 type to type and ciphering_algorithm type.
| [in] | asn1_ciph_algo | ASN.1 Cyphering Algorithm object. |
ciphering_algorithm object where the result of the conversion is stored.
|
inline |
Convert E1AP ASN.1 Data Forwarding Info Request to e1ap_data_forwarding_info_request type.
|
inline |
Convert E1AP ASN.1 QoS Flow Map Info to slotted_id_vector<qos_flow_id_t, e1ap_qos_flow_qos_param_item> type.
|
inline |
Converts E1AP ASN.1 type to type and integrity_algorithm type.
| [in] | asn1_int_algo | ASN.1 Integrity Protection Algorithm object. |
integrity_algorithm object where the result of the conversion is stored.
|
inline |
Converts E1AP ASN.1 type to an e1ap_pdcp_config type.
| asn1_pdcp_cfg | E1AP ASN.1 object. |
|
inline |
Convert E1AP ASN.1 PDCP SN Status Info to e1ap_pdcp_sn_status_info type.
|
inline |
Converts E1AP ASN.1 type to sdap_config to type.
| asn1_sdap_cfg | E1AP ASN.1 config object. |
sdap_config object where the result of the conversion is stored.
|
inline |
|
inline |
|
inline |
Convert E1AP ASN1 s-NSSAI to s_nssai_t type.
| asn1_snssai | The E1AP ASN1 s-NSSAI. |
s_nssai_t type object where the result of the conversion is stored.
|
inline |
Convert E1AP Cause to cause_t type.
| e1ap_cause | The E1AP Cause. |
|
inline |
|
inline |
| std::string srsran::e2sm_kpm_label_2_str | ( | e2sm_kpm_label_enum | label | ) |
| std::string srsran::e2sm_kpm_scope_2_str | ( | e2sm_kpm_metric_level_enum | level | ) |
| void srsran::enable_backtrace | ( | ) |
Enables the backtrace.
| void srsran::equalize_zf_1xn | ( | channel_equalizer::re_list & | eq_symbols, |
| channel_equalizer::noise_var_list & | noise_vars, | ||
| const channel_equalizer::re_list & | ch_symbols, | ||
| const channel_equalizer::ch_est_list & | ch_estimates, | ||
| float | noise_var_est, | ||
| float | tx_scaling ) |
Implementation of a Zero Forcing equalizer for a SIMO 1 X RX_PORTS channel.
| RX_PORTS | Number of receive antenna ports. |
| [out] | eq_symbols | Resultant equalized symbols. |
| [out] | noise_vars | Noise variances after equalization. |
| [in] | ch_symbols | Channel symbols, i.e., complex samples from the receive ports. |
| [in] | ch_estimates | Channel estimation coefficients. |
| [in] | noise_var_est | Estimated noise variance. It is assumed to be the same for each receive port. |
| [in] | tx_scaling | Transmission gain scaling factor. |

| void srsran::equalize_zf_2x2 | ( | channel_equalizer::re_list & | eq_symbols, |
| channel_equalizer::noise_var_list & | noise_vars, | ||
| const channel_equalizer::re_list & | ch_symbols, | ||
| const channel_equalizer::ch_est_list & | ch_estimates, | ||
| float | noise_var_est, | ||
| float | tx_scaling ) |
Implementation of a Zero Forcing equalizer algorithm for a MIMO 2 X 2 channel.
| [out] | eq_symbols | Resultant equalized symbols. |
| [out] | noise_vars | Noise variances after equalization. |
| [in] | ch_symbols | Channel symbols, i.e., complex samples from the receive ports. |
| [in] | ch_estimates | Channel estimation coefficients. |
| [in] | noise_var_est | Estimated noise variance. It is assumed to be the same for each receive port. |
| [in] | tx_scaling | Transmission gain scaling factor. |

| unsigned srsran::estimate_required_nof_prbs | ( | const prbs_calculator_sch_config & | sch_config, |
| unsigned | max_nof_available_rbs = 273U ) |
Computes a coarse estimate of the number of required PRBs to transmit a given payload size. This estimate might lead to a TBS that is smaller or larger than the given payload size.
Obtain an initial estimate for the minimum number of PRBs needed so that the TBS >= payload size.
| [in] | sch_config | is a struct with the PDSCH configuration to compute the num. of PRBs. |
| [in] | max_nof_available_rbs | is the maximum number or available of PRBs within the BWP. By default, this is set to the maximum number of RBs for FR1, as per Table 5.3.2-1, TS 38.104. |
| auto srsran::execute_on | ( | TaskExecutor & | exec | ) |
Awaiter that switches to execution context provided by given executor.
|
inline |
|
inline |
|
inline |
| optional< IdType > srsran::find_disconnected_id | ( | const RangeSet & | set, |
| const Range & | r, | ||
| IdList SetValueType::* | id_set_list, | ||
| IdType ValueType::* | idfield ) |
Find an ID in id_set_list of set that is not present in range r.
| set | List of sets of resources. |
| r | List of resources. |
| id_set_list | Member pointer to the list of resources belonging to a set. |
| idfield | Member pointer to a resource ID. |
r. If all resource Ids in the set are present in r, then an empty optional is returned. Finds the position of the first bit set to one, starting from the LSB.
| Integer | Integer type of received bitmap. |
| [in] | value | Integer bitmap |
Finds the position of the first bit set to one, starting from the MSB.
| Integer | Integer type of received bitmap. |
| [in] | value | Integer bitmap |
| optional< unsigned > srsran::find_next_tdd_full_ul_slot | ( | const tdd_ul_dl_config_common & | cfg, |
| unsigned | start_slot_index = 0 ) |
Finds the next TDD slot index with all UL symbols, starting from the given slot index.
| optional< unsigned > srsran::find_next_tdd_ul_slot | ( | const tdd_ul_dl_config_common & | cfg, |
| unsigned | start_slot_index = 0 ) |
Finds the next TDD slot index with UL symbols, starting from the given slot index.
Convert Five QI type to integer.
|
inlinenoexcept |
Flip bits from left to right.
|
inlinenoexcept |
Performs the fold and accumulate operation, but without slicing at the end.
| N2 | maximum bitset size for returned bitset. |
| LowestInfoBitIsMSB | internal bit order representation of returned bitset. |
| [in] | other | original bitset from where folds are generated. |
| [in] | fold_length | length of each fold bitset. |
|
inlinenoexcept |
Divides a bitset of size "S" into "M" smaller bitsets, where each bitset has length "L=S/M". A bitwise-or operation is performed across bitsets. At the end, a slice with an offset "O" and length "K" is taken from the bitset of length "L" that resulted from the bitwise-or operation. This operation is equivalent to reshaping an array of bits of size "S" into a matrix of dimensions "(M, L)" and applying an "or" operation across all bits of each column. The resulting array of "L" bits, is then sliced with an offset "O" and length "K". The operation asserts if "S % L != 0". E.g. Consider the bitset 1000 0100 0000 1001 (S=16), L=4, O=1, K=2. This function performs the following steps:
| N2 | maximum bitset size for returned bitset. |
| [in] | other | original bitset of length "S". |
| [in] | fold_length | length of each folded bitset "L". |
| [in] | slice_offset | offset from where to slice each fold "O". |
| [in] | slice_length | length of the slice taken from each fold "K". |
| void srsran::force_blocking_execute | ( | Exec && | exec, |
| Task && | task, | ||
| OnTaskDispatchFailure && | fail_func, | ||
| unsigned | max_attempts = std::numeric_limits<unsigned>::max() ) |
Forces the dispatch of a task and its execution to completion.
The user should be only use this call in exceptional situations where a blocking call is required.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Calculates the greatest common divisor (GCD) of two integers.
| srs_cu_cp::cu_cp_configuration srsran::generate_cu_cp_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application configuration to a CU-CP configuration.
| std::map< five_qi_t, srs_cu_cp::cu_cp_qos_config > srsran::generate_cu_cp_qos_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application QoS configuration to a CU-CP configuration.
| srs_cu_up::cu_up_configuration srsran::generate_cu_up_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application configuration to a CU-UP configuration.
| std::map< five_qi_t, srs_cu_up::cu_up_qos_config > srsran::generate_cu_up_qos_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application QoS configuration to a CU-UP configuration.
| std::vector< du_cell_config > srsran::generate_du_cell_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application configuration to a DU cell configuration.
| std::vector< upper_phy_config > srsran::generate_du_low_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application configuration to an upper PHY configuration.
| std::map< five_qi_t, du_qos_config > srsran::generate_du_qos_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application QoS configuration to a DU QoS list configuration.
| std::map< srb_id_t, du_srb_config > srsran::generate_du_srb_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application QoS configuration to a DU SRB list configuration.
| e2ap_configuration srsran::generate_e2_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application configuration to a E2 configuration.
| srsran::sctp_network_gateway_config srsran::generate_e2ap_nw_config | ( | const gnb_appconfig & | config, |
| int | ppid ) |
Converts and returns the given gnb application configuration to a E2AP Network Gateway configuration.
| mac_expert_config srsran::generate_mac_expert_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application configuration to a mac expert configuration.
| srsran::mac_lc_config srsran::generate_mac_lc_config | ( | const mac_lc_appconfig & | in_cfg | ) |
Converts and returns the given gnb MAC LC configuration to a MAC LC configuration.
| srsran::sctp_network_gateway_config srsran::generate_ngap_nw_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application configuration to a NGAP Network Gateway configuration.
| srsran::security::preferred_ciphering_algorithms srsran::generate_preferred_ciphering_algorithms_list | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application ciphering protection algorithm preferences configuration to a CU-CP configuration.
| srsran::security::preferred_integrity_algorithms srsran::generate_preferred_integrity_algorithms_list | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application integrity protection algorithm preferences configuration to a CU-CP configuration.
| srsran::rlc_am_config srsran::generate_rlc_am_config | ( | const rlc_am_appconfig & | in_cfg | ) |
Converts and returns the given gnb RLC AM configuration to a RLC configuration.
| srs_cu_cp::rrc_ssb_mtc srsran::generate_rrc_ssb_mtc | ( | unsigned | period, |
| unsigned | offset, | ||
| unsigned | duration ) |
Converts and returns SSB periodicity, offset and duration into a valid SSB measurement and timing configuration.
| ru_configuration srsran::generate_ru_config | ( | const gnb_appconfig & | config, |
| span< const du_cell_config > | cells ) |
Converts and returns the given gnb application configuration to a Radio Unit configuration.
| scheduler_expert_config srsran::generate_scheduler_expert_config | ( | const gnb_appconfig & | config | ) |
Converts and returns the given gnb application configuration to a scheduler expert configuration.
| ofdm_symbol_range srsran::get_active_tdd_dl_symbols | ( | const tdd_ul_dl_config_common & | cfg, |
| unsigned | slot_index, | ||
| cyclic_prefix | cp ) |
Calculates the number of active DL symbols in the current slot_index.
| ofdm_symbol_range srsran::get_active_tdd_ul_symbols | ( | const tdd_ul_dl_config_common & | cfg, |
| unsigned | slot_index, | ||
| cyclic_prefix | cp ) |
Calculates the number of active UL symbols in the current slot_index.
Retrieves the resource grid allocator ring size greater than given minimum value.
|
inlineconstexpr |
Bits per symbol for a given modulation scheme.
| [in] | mod | Modulation scheme. |

Returns a formatted string containing the current commit hash.
Returns a formatted string containing the current commit hash and branch name (if available).
Returns the selected (CMake) build mode as string.
| span< const pdsch_time_domain_resource_allocation > srsran::get_c_rnti_pdsch_time_domain_list | ( | const search_space_configuration & | ss_cfg, |
| const bwp_downlink_common & | active_bwp_dl_common, | ||
| const bwp_downlink_dedicated * | active_bwp_dl_ded, | ||
| dmrs_typeA_position | dmrs_typeA_pos ) |
Determines the time domain resource allocation table to be used for PDSCH as per TS 38.214, clause 5.1.2.1.1.
| [in] | ss_cfg | Search Space configuration. |
| [in] | active_bwp_dl_common | Active DL BWP common configuration. |
| [in] | active_bwp_dl_ded | Active DL BWP UE-dedicated configuration. |
| [in] | dmrs_typeA_pos | DM-RS for mapping Type A position. |
| span< const pusch_time_domain_resource_allocation > srsran::get_c_rnti_pusch_time_domain_list | ( | const search_space_configuration & | ss_cfg, |
| const bwp_uplink_common & | active_bwp_ul_common, | ||
| const bwp_uplink_dedicated * | active_bwp_ul_ded ) |
Determines the time domain resource allocation table to be used for PUSCH as per TS 38.214, clause 6.1.2.1.1.
| ss_cfg | Search Space configuration. |
| active_bwp_ul_common | Active BWP UL common configuration. |
| active_bwp_ul_ded | Active BWP UL UE-dedicated configuration. |
|
inline |
Derives Carrier CRB limits from scs-SpecificCarrier.
|
inline |
Get string with E1AP error cause.
|
inline |
Get string with F1AP error cause.
|
inline |
Computes the CRB interval that delimits CORESET#0.
|
inline |
Computes the CRB interval that delimits CORESET.
|
inline |
Computes the highest RB used by the CORESET.
|
inline |
|
inline |
|
inlineconstexpr |
| units::bits srsran::get_csi_report_pucch_size | ( | const csi_report_configuration & | config | ) |
Gets the Channel State Information (CSI) report size when the CSI report is transmitted in PUCCH.
Field widths are defined in TS38.212 Section 6.3.1.1.2.
| [in] | config | CSI report configuration. |
| csi_report_pusch_size srsran::get_csi_report_pusch_size | ( | const csi_report_configuration & | config | ) |
Calculates the Channel State Information (CSI) payload sizes when the CSI report is transmitted in PUSCH.
Field widths are defined in TS38.212 Section 6.3.2.1.2.
| csi_rs_pattern srsran::get_csi_rs_pattern | ( | const csi_rs_pattern_configuration & | config | ) |
Generates the CSI-RS pattern.
|
inline |
Retrieve DCI format from DCI DL payload format.
| dci_sizes srsran::get_dci_sizes | ( | const dci_size_config & | config | ) |
DCI payload size alignment procedure.
Computes the DCI payload sizes, in number of bits, with the size alignment procedure specified in TS38.212 Section 7.3.1.0.
| [in] | config | Required DCI size configuration parameters. |
| dlsch_information srsran::get_dlsch_information | ( | const dlsch_configuration & | config | ) |
Gets the DL-SCH information for a given PDSCH configuration.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| size_t srsran::get_host_max_cpu_id | ( | ) |
Get maximum CPU ID available to the application.
|
constexpr |
Returns the LDPC base graph based on the given code rate and transport block size in bits, as per TS 38.212 section 7.2.2.
| R | Target code rate, parameter ![]() |
| A | Size in bits of the payload ![]() |
Derive MAC SDU total size in bytes (includes subheader).
Derive MAC SDU subheader size in bytes as per TS38.321, Section 6.1.
|
inline |
Retrieves the maximum MCS value for a given MCS table.
|
inline |
Computes the maximum transmission bandwidth in number of PRBs.
|
inline |
Extracts message type.
|
inline |
Extracts message type.
|
inline |
Extracts message type.
| unsigned srsran::get_msg3_delay | ( | const pusch_time_domain_resource_allocation & | pusch_td_res_alloc, |
| subcarrier_spacing | pusch_scs ) |
Get MSG3 Delay.
| [in] | pusch_td_res_alloc | PUSCH-TimeDomainResourceAllocation. |
| [in] | pusch_scs | SCS used by initial UL BWP. |
|
inline |
Calculates 
| sch_prbs_tbs srsran::get_nof_prbs | ( | const prbs_calculator_sch_config & | sch_config, |
| unsigned | max_nof_available_rbs = 273U ) |
Computes the required number of PRBs necessary to transmit a given payload size.
This function implements the inverse procedure of the TBS calculation procedure (as per TS38.214 Section 5.1.3.2) to derive the number of PRBs from a given payload in bytes.
| [in] | sch_config | is a struct with the PDSCH configuration to compute the num. of PRBs. |
| [in] | max_nof_available_rbs | is the maximum number or available of PRBs within the BWP. By default, this is set to the maximum number of RBs for FR1, as per Table 5.3.2-1, TS 38.104. |
| unsigned srsran::get_nof_rbgs | ( | crb_interval | bwp_rb_dims, |
| bool | config1_or_2 ) |
| unsigned srsran::get_nof_rbgs | ( | crb_interval | bwp_rb_dims, |
| nominal_rbg_size | P ) |
Calculates the total number of RBGs for a bandwidth part.
|
inlineconstexpr |
Calculates number of slots per subframe.
|
constexpr |
Gets the number of codeblocks for a transmission containing a UCI message.
The number of UCI codeblocks and codeword segmentation is described TS38.212 Section 6.3.1.2.1.
| [in] | message_length | Number of payload bits in the UCI message. Parameter ![]() |
| [in] | codeword_length | Number of encoded bits in the codeword. Parameter ![]() |

| nominal_rbg_size srsran::get_nominal_rbg_size | ( | unsigned | bwp_nof_prb, |
| bool | is_config_1 ) |
Calculates Nominal RBG size (P) based on the BWP number of PRBs and configuration type.
|
inlineconstexpr |
Defines the number of OFDM symbols per slot, according to TS 38.211 Tables 4.3.2-1 and 4.3.2-2.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| pdsch_antenna_ports_mapping srsran::get_pdsch_antenna_port_mapping | ( | unsigned | nof_layers, |
| unsigned | nof_dl_antenna_ports, | ||
| dmrs_config_type | dmrs_cfg_type, | ||
| dmrs_max_length | dmrs_max_len, | ||
| bool | are_both_cws_enabled ) |
Returns the PDSCH antenna ports mapping from TS 38.212, tables 7.3.1.2.2-1/2/3/4 based on input configuration.
| [in] | nof_layers | Number of layers. |
| [in] | nof_dl_antenna_ports | Number of DL antenna ports supported by gNB. |
| [in] | dmrs_cfg_type | PDSCH DMRS configuration type. |
| [in] | dmrs_max_len | PDSCH DMRS maximum number of OFDM symbols. |
| [in] | are_both_cws_enabled | Flag indicating whether Codeword 0 and Codeword 1 are enabled or not. |
| unsigned srsran::get_pdsch_antenna_port_mapping_row_index | ( | unsigned | nof_layers, |
| unsigned | nof_dl_antenna_ports, | ||
| dmrs_config_type | dmrs_cfg_type, | ||
| dmrs_max_length | dmrs_max_len, | ||
| bool | are_both_cws_enabled ) |
Returns the PDSCH antenna ports mapping row index in TS 38.212, tables 7.3.1.2.2-1/2/3/4.
| [in] | nof_layers | Number of layers. |
| [in] | nof_dl_antenna_ports | Number of DL antenna ports supported by gNB. |
| [in] | dmrs_cfg_type | PDSCH DMRS configuration type. |
| [in] | dmrs_max_len | PDSCH DMRS maximum number of OFDM symbols. |
| [in] | are_both_cws_enabled | Flag indicating whether Codeword 0 and Codeword 1 are enabled or not. |
| pdsch_config_params srsran::get_pdsch_config_f1_0_c_rnti | ( | const ue_cell_configuration & | ue_cell_cfg, |
| const pdsch_time_domain_resource_allocation & | pdsch_td_cfg ) |
Fetches the PDSCH parameters needed for PUSCH PDU for DCI format 1_0, scrambled by C-RNTI.
Returns parameters needed to compute the number of PRBs, MCS and TBS.
| pdsch_config_params srsran::get_pdsch_config_f1_0_tc_rnti | ( | const cell_configuration & | cell_cfg, |
| const pdsch_time_domain_resource_allocation & | pdsch_td_cfg ) |
Fetches the PDSCH parameters needed for PDSCH PDU for DCI format 1_0, scrambled by TC-RNTI.
Returns parameters needed to compute the number of PRBs, MCS and TBS.
| pdsch_config_params srsran::get_pdsch_config_f1_1_c_rnti | ( | const ue_cell_configuration & | ue_cell_cfg, |
| const pdsch_time_domain_resource_allocation & | pdsch_td_cfg, | ||
| unsigned | nof_layers ) |
Fetches the PDSCH parameters needed for PUSCH PDU for DCI format 1_1, scrambled by C-RNTI.
Returns parameters needed to compute the number of PRBs, MCS and TBS.
| prach_symbols_slots_duration srsran::get_prach_duration_info | ( | const prach_configuration & | prach_cfg, |
| subcarrier_spacing | pusch_scs ) |
Compute PRACH preamble duration information.
| [in] | prach_cfg | PRACH preamble configuration. |
| [in] | pusch_scs | PUSCH SCS that is used as a reference for symbol and slot unit. |
| prach_preamble_information srsran::get_prach_preamble_long_info | ( | prach_format_type | format | ) |
Get long PRACH preamble information as per TS38.211 Table 6.3.3.1-1.
An assertion is triggered if the PRACH preamble format is short.
| [in] | format | PRACH preamble format. |
| prach_preamble_information srsran::get_prach_preamble_short_info | ( | prach_format_type | format, |
| prach_subcarrier_spacing | ra_scs, | ||
| bool | last_occasion ) |
Get short PRACH preamble information as per TS38.211 Table 6.3.3.1-2.
An assertion is triggered if:


| [in] | format | PRACH preamble format. |
| [in] | ra_scs | Random access subcarrier spacing ![]() |
| [in] | last_occasion | Set to true if ![]() |
| phy_time_unit srsran::get_prach_window_duration | ( | srsran::prach_format_type | format, |
| srsran::subcarrier_spacing | pusch_scs, | ||
| unsigned | start_symbol_index, | ||
| unsigned | nof_td_occasions ) |
Gets the PRACH window duration.
| [in] | format | PRACH preamble format. |
| [in] | pusch_scs | Uplink resource grid subcarrier spacing. Determines the numerology ![]() |
| [in] | start_symbol_index | OFDM symbol index within the slot that marks the start of the acquisition window for the first time-domain PRACH occasion. |
| [in] | nof_td_occasions | Number of time-domain occasions within a PRACH window. |
|
inline |
Gets the PRACH time-domain occasion duration in symbols relative to the RA subcarrier spacing.
Corresponds to parameter 
| [in] | format | PRACH preamble format. |
|
constexpr |
Gets the queue policy for a given priority.
Gets the PUCCH cyclic shift for PUCCH resource before dedicated PUCCH as per TS38.213 Section 9.2.1.
| [in] | r_pucch | PUCCH resource index, parameter ![]() |
| [in] | nof_cs | Number of cyclic shifts, parameter ![]() |
| std::pair< unsigned, unsigned > srsran::get_pucch_default_prb_index | ( | unsigned | r_pucch, |
| unsigned | rb_bwp_offset, | ||
| unsigned | nof_cs, | ||
| unsigned | N_bwp_size ) |
Gets the PRB indexes for PUCCH resource before dedicated PUCCH as per TS38.213 Section 9.2.1.
| [in] | r_pucch | PUCCH resource index, parameter ![]() |
| [in] | rb_bwp_offset | PRB offset, parameter ![]() |
| [in] | nof_cs | Number of cyclic shifts, parameter ![]() |
| [in] | N_bwp_size | BWP size, parameter ![]() |
| pucch_default_resource srsran::get_pucch_default_resource | ( | unsigned | row_index, |
| unsigned | N_bwp_size ) |
Gets the PUCCH resource parameters before dedicated PUCCH resources are configured.
The values are given by TS38.213 Table 9.2.1-1.
| [in] | row_index | PUCCH default row index, higher layer parameter pucch-ResourceCommon (TS38.331 Section 6.3.2, Information Element PUCCH-ConfigCommon). Possible values are {0, ... , 15}. |
| [in] | bwp_size | Active BWP size, parameter ![]() |
| unsigned srsran::get_pucch_default_resource_index | ( | unsigned | n_cce, |
| unsigned | nof_cce, | ||
| unsigned | delta_pri ) |
Calculates the default PUCCH resource index 
It implemented is according to TS38.213 Section 9.2.1.
| [in] | n_cce | Index of the first CCE for the PDCCH reception, parameter ![]() |
| [in] | nof_cce | Number of CCEs in a CORESET of the PDCCH reception with DCI associated to the PUCCH transmission, Parameter ![]() |
| [in] | delta_pri | PUCCH resource indicator field in the associated DCI, parameter ![]() |
Calculates the total rate matching output sequence length 
|
inline |
Calculates the number of PRBs required for a given payload size for PUCCH format 2.
| [in] | nof_payload_bits | Total number of payload bits. |
| [in] | nof_symbols | Transmission duration in symbols. |
| [in] | max_code_rate | Maximum code rate for PUCCH format 2; it corresponds to maxCodeRate, part of PUCCH-FormatConfig, TS 38.331. |
|
inline |
Calculates the maximum payload for a PUCCH Format 2 transmission.
| [in] | nof_prb | Transmission bandwidth in PRB. |
| [in] | nof_symbols | Transmission duration in symbols. |
| [in] | max_code_rate | Maximum allowed PUCCH Format2 code rate. |
|
inline |
Calculates the num. of PRBs (capped to the configured max nof PRBs) given the PUCCH Format 2 payload size.
With respect to get_pucch_format2_max_nof_prbs, this function caps the number of PRBs to the value configured for PUCCH resource Format 2, which can be less than 16. Note that the returned number of PRBs might not be enough to allocate the payload size.
| [in] | nof_payload_bits | Total number of payload bits. |
| [in] | max_nof_prbs | Maximum PUCCH format 2 bandwidth in PRB; it corresponds to nrofPRBs, part of PUCCH-format2, TS 38.331. |
| [in] | nof_symbols | Transmission duration in symbols. |
| [in] | max_code_rate | Maximum code rate for PUCCH format 2; it corresponds to maxCodeRate, part of PUCCH-FormatConfig, TS 38.331. |
| pusch_config_params srsran::get_pusch_config_f0_0_c_rnti | ( | const ue_cell_configuration & | ue_cell_cfg, |
| const bwp_uplink_common & | ul_bwp, | ||
| const pusch_time_domain_resource_allocation & | pusch_td_cfg, | ||
| const unsigned | nof_harq_ack_bits, | ||
| bool | is_csi_report_slot ) |
Fetches the PUSCH parameters needed for PUSCH PDU for DCI format 0_0, scrambled by C-RNTI.
The parameters returned by this function are needed to compute the number of PRBs, MCS and TBS.
| pusch_config_params srsran::get_pusch_config_f0_0_tc_rnti | ( | const cell_configuration & | cell_cfg, |
| const pusch_time_domain_resource_allocation & | pusch_td_cfg ) |
Fetches the PUSCH parameters needed for PUSCH PDU for DCI format 0_0, scrambled by TC-RNTI.
The parameters returned by this function are needed to compute the number of PRBs, MCS and TBS.
| pusch_config_params srsran::get_pusch_config_f0_1_c_rnti | ( | const ue_cell_configuration & | ue_cell_cfg, |
| const pusch_time_domain_resource_allocation & | pusch_td_cfg, | ||
| unsigned | nof_layers, | ||
| const unsigned | nof_harq_ack_bits, | ||
| bool | is_csi_report_slot ) |
Fetches the PUSCH parameters needed for PUSCH PDU for DCI format 0_1, scrambled by C-RNTI.
The parameters returned by this function are needed to compute the number of PRBs, MCS and TBS.
|
inline |
Retrieves the time resource allocation table for PUSCH.
| uint16_t srsran::get_ra_rnti | ( | unsigned | slot_index, |
| unsigned | symbol_index, | ||
| unsigned | frequency_index, | ||
| bool | is_sul = false ) |
Computes the RA-RNTI based on PRACH parameters, as per TS 38.321, Section 5.1.3.
| [in] | slot_index | Index of the first slot of the PRACH occasion in a system frame. Values {0,...,79}. |
| [in] | symbol_index | Index of the first OFDM symbol of the first PRACH occasion. Values {0,...,13}. |
| [in] | frequency_index | Index of the PRACH occation in the frequency domain. Values {0,...,7}. |
| [in] | is_sul | true is this is SUL carrier, false otherwise. |
| span< const pdsch_time_domain_resource_allocation > srsran::get_ra_rnti_pdsch_time_domain_list | ( | const pdsch_config_common & | pdsch_common, |
| cyclic_prefix | cp, | ||
| dmrs_typeA_position | dmrs_typeA_pos ) |
Determines the time domain resource allocation table to be used for PDSCH scheduled with RA-RNTI as per TS 38.214, clause 5.1.2.1.1-1.
| [in] | pdsch_common | PDSCH common configuration. |
| [in] | cp | Cyclic prefix. |
| [in] | dmrs_pos | DM-RS for mapping Type A position. |
|
inlineconstexpr |
Compute RB bandwidth in kHz, based on the used numerology.
| unsigned srsran::get_rbg_size | ( | crb_interval | bwp_rbs, |
| nominal_rbg_size | P, | ||
| uint32_t | rbg_idx ) |
| ri_li_cqi_cri_sizes srsran::get_ri_li_cqi_cri_sizes | ( | pmi_codebook_type | pmi_codebook, |
| ri_restriction_type | ri_restriction, | ||
| csi_report_data::ri_type | ri, | ||
| unsigned | nof_csi_rs_resources ) |
Gets the RI, LI, wideband CQI, and CRI fields bit-width.
| sch_information srsran::get_sch_segmentation_info | ( | units::bits | tbs, |
| float | target_code_rate ) |
Gets the Shared Channel (SCH) derived parameters from the transport block size and target code rate, expressed as 
Calculates the ratio between the Physical Shared Channel EPRE and the DM-RS EPRE.
The calculation is common for PDSCH and PUSCH, as defined in TS38.214 Table 4.1-1 and Table 6.2.2-1.
| [in] | nof_cdm_groups_without_data | Number of CDM groups without data. |

|
inline |
Calculates 

|
inline |
Calculates 

| span< const pdsch_time_domain_resource_allocation > srsran::get_si_rnti_pdsch_time_domain_list | ( | cyclic_prefix | cp, |
| dmrs_typeA_position | dmrs_typeA_pos ) |
Determines the time domain resource allocation table to be used for PDSCH scheduled with SI-RNTI Type0 common as per TS 38.214, clause 5.1.2.1.1-1.
| [in] | cp | Cyclic prefix. |
| [in] | dmrs_pos | DM-RS for mapping Type A position. |
| span< const pdsch_time_domain_resource_allocation > srsran::get_si_rnti_type0A_common_pdsch_time_domain_list | ( | const pdsch_config_common & | pdsch_common, |
| cyclic_prefix | cp, | ||
| dmrs_typeA_position | dmrs_typeA_pos ) |
Determines the time domain resource allocation table to be used for PDSCH scheduled with SI-RNTI Type0A common as per TS 38.214, clause 5.1.2.1.1-1.
| [in] | cp | Cyclic prefix. |
| [in] | dmrs_pos | DM-RS for mapping Type A position. |
| crb_interval srsran::get_ssb_crbs | ( | subcarrier_spacing | ssb_scs, |
| subcarrier_spacing | scs_common, | ||
| ssb_offset_to_pointA | offset_to_pA, | ||
| ssb_subcarrier_offset | k_ssb ) |
Calculate the CRBs (with reference to SCS common grid) where the SSB is allocated.
| [in] | ssb_scs | is the SSB Sub-Carrier Spacing, as per TS 38.213, Section 4.1. |
| [in] | scs_common | is the Sub-Carrier Spacing of the Initial DL BWP. |
| [in] | offset_to_pA | is the OffsetToPointA, , as per TS 38.211, Section 4.4.4.2. |
| [in] | k_ssb | is the SSB subcarrier offset, or k_ssb, as per TS 38.211, Section 7.4.3.1. |
| pusch_tpmi_select_info srsran::get_tpmi_select_info | ( | const srs_channel_matrix & | channel, |
| float | noise_variance ) |
Selects the Transmit Precoding Matrix Indicator (TPMI) for each possible number of layers supported by the channel topology.
| [in] | channel | Channel coefficient matrix. |
| [in] | noise_variance | Linear noise variance. |
|
inline |
Extracts transaction id of E1AP PDU.
|
inline |
Extracts transaction id of Initiating message.
|
inline |
Extracts transaction id of Successful Outcome message.
|
inline |
Extracts transaction id of Unsuccessful Outcome message.
|
inline |
Extracts transaction id of E2AP PDU.
|
inline |
Extracts transaction id of Initiating message.
|
inline |
Extracts transaction id of Successful Outcome message.
|
inline |
Extracts transaction id of Unsuccessful Outcome message.
|
inline |
Extracts transaction id of F1AP PDU.
|
inline |
Extracts transaction id of Initiating message.
|
inline |
Extracts transaction id of Successful Outcome message.
|
inline |
Extracts transaction id of Unsuccessful Outcome message.
| slot_point srsran::get_type0_pdcch_css_n0 | ( | double | table_13_11_and_13_12_O, |
| double | table_13_11_and_13_12_M, | ||
| subcarrier_spacing | scs_common, | ||
| unsigned | ssb_index ) |
Helper function that returns slot n0 (where UE should monitor Type0-PDCCH CSS) for a given SSB (beam) index.
| [in] | table_13_11_and_13_12_O | Parameter O provided in Table 13-11 and 13-12 of TS 38 213. |
| [in] | table_13_11_and_13_12_M | Parameter M provided in Table 13-11 and 13-12 of TS 38 213. |
| [in] | scs_common | SCS for PDCCH receptions in the CORESET. |
| [in] | ssb_index | SS/PBCH block with index. |
Gets the number of CRC bits per UCI codeblock.
The number of CRC bits is described in TS38.212 Section 6.3.1.2.1.
| [in] | payload_size | Number of payload bits in the UCI message. Parameter ![]() |

|
constexpr |
Gets the total number of CRC bits appended in a UCI message, considering segmentation.
| ulsch_information srsran::get_ulsch_information | ( | const ulsch_configuration & | config | ) |
Gets the UL-SCH information for a given PUSCH configuration.
Returns the full version with major.minor.patch as string.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
| bool srsran::gtpu_dissect_pdu | ( | gtpu_dissected_pdu & | dissected_pdu, |
| byte_buffer | raw_pdu, | ||
| gtpu_tunnel_logger & | logger ) |
Creates a dissected representation of a raw GTP-U PDU with access to the unpacked header and to the raw content of the extension headers for further processing of the extensions.
| [out] | dissected_pdu | Reference to an object into which the dissected GTP-U PDU shall be filled/moved. |
| [in] | raw_pdu | The raw GTP-U PDU that shall be dissected. |
| [in] | logger | Access to the logger. |
| bool srsran::gtpu_extension_header_comprehension_check | ( | const gtpu_extension_header_type & | type, |
| gtpu_tunnel_logger & | logger ) |
| byte_buffer srsran::gtpu_extract_t_pdu | ( | gtpu_dissected_pdu && | dissected_pdu | ) |
Extracts the T-PDU of a dissected GTP-U PDU by advancing its internal PDU buffer by the header length and returning that object. Any other content of the dissected PDU (e.g. header extensions) will be invalidated.
| dissected_pdu | The dissected GTP-U PDU from which the T-PDU shall be extracted. |
| uint16_t srsran::gtpu_get_length | ( | const gtpu_header & | header, |
| const byte_buffer & | sdu ) |
| bool srsran::gtpu_read_ext_header | ( | bit_decoder & | decoder, |
| gtpu_extension_header & | ext, | ||
| gtpu_extension_header_type & | next_extension_header_type, | ||
| gtpu_tunnel_logger & | logger ) |
| bool srsran::gtpu_read_teid | ( | uint32_t & | teid, |
| const byte_buffer & | pdu, | ||
| srslog::basic_logger & | logger ) |
| bool srsran::gtpu_supported_flags_check | ( | const gtpu_header & | header, |
| gtpu_tunnel_logger & | logger ) |
Supported feature helpers.
| bool srsran::gtpu_supported_msg_type_check | ( | const gtpu_header & | header, |
| gtpu_tunnel_logger & | logger ) |
| void srsran::gtpu_unpack_ext_header_type | ( | bit_decoder & | decoder, |
| gtpu_extension_header_type & | type ) |
| bool srsran::gtpu_write_ext_header | ( | bit_encoder & | encoder, |
| const gtpu_extension_header & | ext, | ||
| gtpu_extension_header_type | next_extension_header_type, | ||
| gtpu_tunnel_logger & | logger ) |
| bool srsran::gtpu_write_header | ( | byte_buffer & | pdu, |
| const gtpu_header & | header, | ||
| gtpu_tunnel_logger & | logger ) |
Prepends the GTP-U header in front of a GTP-U PDU. Ref: TS 29.281 Sec.
| [out] | pdu | Buffer of the GTP-U PDU to which the information element shall be prepended. |
| [in] | header | The GTP-U header. |
| [in] | logger | Access to the logger. |
| void srsran::gtpu_write_ie_private_extension | ( | byte_buffer & | pdu, |
| gtpu_ie_private_extension & | ie_priv_ext, | ||
| gtpu_tunnel_logger & | logger ) |
Append the "private extension" information element to a GTP-U PDU. Ref: TS 29.281 Sec. 8.6.
| [out] | pdu | Buffer of the GTP-U PDU to which the information element shall be appended. |
| [in] | ie_recovery | The information element "private extension". |
| [in] | logger | Access to the logger. |
| void srsran::gtpu_write_ie_recovery | ( | byte_buffer & | pdu, |
| gtpu_ie_recovery & | ie_recovery, | ||
| gtpu_tunnel_logger & | logger ) |
Append the "recovery" information element to a GTP-U PDU. Ref: TS 29.281 Sec. 8.2.
| [out] | pdu | Buffer of the GTP-U PDU to which the information element shall be appended. |
| [in] | ie_recovery | The information element "recovery". |
| [in] | logger | Access to the logger. |
| void srsran::hard_decision | ( | bit_buffer & | hard_bits, |
| span< const log_likelihood_ratio > | soft_bits ) |
Obtains hard bits from a vector of soft bits.
Performs hard decision on a vector of soft bits. The resulting bits are packed and stored in an srsran::bit_buffer.
| [out] | hard_bits | Buffer of hard bits. |
| [in] | soft_bits | Buffer of soft bits. |
| bool srsran::has_active_tdd_dl_symbols | ( | const tdd_ul_dl_config_common & | cfg, |
| unsigned | slot_index ) |
Calculates whether there are symbols for DL in the current slot index.
| bool srsran::has_active_tdd_ul_symbols | ( | const tdd_ul_dl_config_common & | cfg, |
| unsigned | slot_index ) |
Calculates whether there are symbols for UL in the current slot index.
| bool srsran::has_unique_ids | ( | const Range & | r, |
| const IdentifierGetter & | id_get ) |
Check if all elements of a range have a unique ID, which is provided via id_get.
| [in] | Range | with begin() and end(). |
| [in] | id_get | Callback with signature "id_type(const Range::value_type&)" that returns back an element identifier. |
Check if all elements of a range have a unique ID, where the ID can be accessed via the provided field pointer.
| [in] | Range | with begin() and end(). |
| [in] | id_field | Member pointer used to get ID of elements of provided Range. |
| void srsran::init_byte_buffer_segment_pool | ( | std::size_t | nof_segments, |
| std::size_t | memory_block_size = byte_buffer_segment_pool_default_segment_size() ) |
Sets the default size of the default byte_buffer segment pool.
This function asserts if the pool has already been initialized.
| nof_segments | Number of byte_buffer_segments stored in the pool. |
| memory_block_size | Number, in bytes, for each memory block on which a buffer_byte_segment header and payload will be stored. |
|
inlineconstexpr |
Convert integer to GNB-CU-CP-UE-E1AP-ID type.
|
inlineconstexpr |
Convert integer to GNB-CU-UE-F1AP-ID type.
|
inlineconstexpr |
Convert integer to GNB-DU-UE-E1AP-ID type.
|
inline |
|
inlineconstexpr |
Convert integer to GNB-DU-UE-F1AP-ID type.
|
constexpr |
Convert integer to GTP-U TEID value.
|
inline |
|
inline |
Converts type integrity_algorithm to an E1AP ASN.1 type.
| int_algo | Integrity Protection Algorithm object. |
|
inline |
Applies an interval function.
| Table | Look-up table type. All tables mut be of the same type. |
| [in] | value | Input value. |
| [in] | rcp_noise | The noise reciprocal corresponding to the value. |
| [in] | nof_intervals | Number of intervals. |
| [in] | interval_width | Interval width to quantify the interval index. |
| [in] | slopes | Table with the slope of each interval. |
| [in] | intercepts | Table with the interception points of each interval. |
Table size. Checks whether the pointer is set with the correct alignment.
Checks if alignment is power of 2.
|
inline |
|
inline |
Checks whether the SearchSpace set is common or dedicated.
Checks whether RNTI value corresponds to a C-RNTI value.
| check_outcome srsran::is_du_cell_config_valid | ( | const du_cell_config & | cell_cfg | ) |
Checks whether the provided DU cell configuration is valid.
| cell_cfg | DU cell configuration. |
|
inlineconstexpr |
|
constexpr |
Checks if the preamble format is long.
Long preambles are listed in TS38.211 Table 6.3.3.1-1.

|
inlineconstexpr |
Checks if the RA subcarrier spacing is suitable for long preambles formats.
Helper function that determines from SSB bitmap whether n-th beam is used.
| [in] | ssb_bitmap | SSB bitmap. |
| [in] | ssb_index | SSB block index/ Beam index. |
ssb_index is active, false otherwise. | bool srsran::is_pusch_configured | ( | const csi_meas_config & | csi_meas | ) |
Tells whether the CSI report is configured for PUSCH.
reportConfigType in CSI-ReportConfig, TS 38.331, that the CSI report is configured for PUSCH if it is either semiPersistentOnPUSCH or aperiodic, while it's configured for PUCCH if it is periodic or semiPersistentOnPUCCH. | error_type< std::string > srsran::is_scheduler_expert_config_valid | ( | const scheduler_expert_config & | config | ) |
Checks whether the provided scheduler expert configuration is valid.
| config | Scheduler expert configuration. |
|
inlineconstexpr |
Checks if SCS value is valid.
|
inlineconstexpr |
Check if SCS value is valid.
|
inlineconstexpr |
Checks whether the provided SCS–FR pair is valid.
|
constexpr |
Checks if the preamble format is short.
Short preambles are listed in TS38.211 Table 6.3.3.1-2.
|
inlineconstexpr |
Checks if the RA subcarrier spacing is suitable for short preambles formats.
| bool srsran::is_tdd_full_dl_slot | ( | const tdd_ul_dl_config_common & | cfg, |
| unsigned | slot_index ) |
Checks if all symbols in the current slot index are active for DL.
| bool srsran::is_tdd_full_ul_slot | ( | const tdd_ul_dl_config_common & | cfg, |
| unsigned | slot_index ) |
Checks if all symbols in the current slot index are active for UL.
| bool srsran::is_trace_file_open | ( | ) |
Check if the trace file is open.
| bool srsran::is_valid | ( | const csi_report_configuration & | config | ) |
CSI report configuration validator.
|
inline |
Helper function that validates the pointer members of the given Radio Unit configuration. Returns true on success, otherwise false.
The pointers to baseband gateway, rx symbol notifier, timing notifier and error notifier are not being checked as the Radio Unit factory still needs to create the adapters and set them in the lower PHY configuration.
|
inline |
Returns true if the given lower PHY configuration is valid, otherwise false.
| bool srsran::is_valid_ru_ofh_config | ( | const ru_ofh_configuration & | config | ) |
Returns true if the given Open Fronthaul configuration is valid, otherwise false.
|
inline |
Returns true if the given upper PHY configuration is valid, otherwise false.
Creates coroutine frame and launches task if eager.
Creates coroutine frame and launches task if eager.
|
inline |
Launches an async task that finishes immediately with the result set by the caller to this function.
| async_task< std::decay_t< Resp > > srsran::launch_no_op_task | ( | Resp && | r | ) |
Launches an async task that finishes immediately with the result set by the caller to this function.
|
inline |
Return the value of logical_channel_sr_delay_timer.
Calculates the least common multiplier (LCM) of two integers.
Calculates the least common multiplier (LCM) for a range of integers.
| bool srsran::lexical_cast | ( | const std::string & | in, |
| srsran::optional< T > & | output ) |
Parse string into optional type.
Calculates 
| Integer | Any unsigned integer type. |
| [in] | value | Parameter ![]() |
value is not zero. Otherwise 0.
|
inline |
| void srsran::log_proc_event | ( | srslog::basic_logger & | logger, |
| du_ue_index_t | ue_index, | ||
| const char * | proc_name, | ||
| const char * | cause_fmt, | ||
| Args &&... | args ) |
| void srsran::log_proc_failure | ( | srslog::basic_logger & | logger, |
| du_ue_index_t | ue_index, | ||
| const char * | proc_name, | ||
| const char * | cause_fmt = "", | ||
| Args &&... | args ) |
| void srsran::log_proc_failure | ( | srslog::basic_logger & | logger, |
| du_ue_index_t | ue_index, | ||
| rnti_t | rnti, | ||
| const char * | proc_name, | ||
| const char * | cause_fmt = "", | ||
| Args &&... | args ) |
|
inline |
|
inline |
| void srsran::log_ue_event | ( | srslog::basic_logger & | logger, |
| const ue_event_prefix & | ue_prefix, | ||
| const char * | cause_fmt, | ||
| Args &&... | args ) |
| void srsran::log_ue_proc_event | ( | srslog::log_channel & | log_ch, |
| const ue_event_prefix & | ue_prefix, | ||
| const char * | proc_name, | ||
| const char * | cause_fmt, | ||
| Args &&... | args ) |
| void srsran::log_ul_pdu | ( | srslog::basic_logger & | logger, |
| du_ue_index_t | ue_index, | ||
| rnti_t | rnti, | ||
| du_cell_index_t | cell_index, | ||
| const char * | ch, | ||
| const char * | cause_fmt, | ||
| Args &&... | args ) |
| void srsran::log_ul_pdu | ( | srslog::basic_logger & | logger, |
| rnti_t | rnti, | ||
| du_cell_index_t | cc, | ||
| const char * | cause_fmt, | ||
| Args &&... | args ) |
|
inline |
Converts a hex string (e.g. 01FA02) to a byte buffer.
| std::unique_ptr< cu_up_executor_pool > srsran::make_cu_up_executor_mapper | ( | span< task_executor * > | dl_pdu_executors, |
| span< task_executor * > | ul_pdu_executors, | ||
| span< task_executor * > | ctrl_executors ) |
Creates an executor mapper for the CU-UP.
| mac_lc_config srsran::make_default_drb_mac_lc_config | ( | ) |
Generates default DRB MAC Logical Channel configuration for DRBs.
|
inline |
SRB0 default configuration (only implementation-specific parameters)
| mac_lc_config srsran::make_default_srb_mac_lc_config | ( | lcid_t | lcid | ) |
Generates default SRB MAC Logical Channel configuration for SRBs other than SRB0.
|
inline |
SRB1, SRB2 and SRB3 default configuration as per TS 38.331, 9.2.1.
|
inline |
Helper factory of a default DM-RS Information object for DCI f1_0 or for when higher layer configuration parameters are not yet available. TODO: generalize to other cases (e.g. mapping type B).
|
inline |
Helper factory of a default DM-RS Information object for DCI f0_0 or for when higher layer configuration parameters are not yet available. TODO: generalize to other cases (e.g. mapping type B).
|
inline |
Helper factory of a default DM-RS Information object for DCI f0_0 or for when higher layer configuration parameters are not yet available. TODO: generalize to other cases (e.g. mapping type B).
|
inline |
Helper factory of a default DM-RS Information object for DCI f1_0 or for when higher layer configuration parameters are not yet available. TODO: generalize to other cases (e.g. mapping type B).
|
inline |
|
inline |
Instantiates a Distributed Unit (DU) object.
| std::unique_ptr< du_high > srsran::make_du_high | ( | const srs_du::du_high_configuration & | du_hi_cfg | ) |
Create a DU-high instance, which comprises MAC, RLC and F1 layers.
| precoding_weight_matrix srsran::make_four_layer_four_ports_type1_sp | ( | unsigned | beam_azimuth_id, |
| unsigned | pol_shift_id ) |
Constructs a precoding weight matrix for three layers mapped into four transmit ports.
All weights are derived from TS38.214 Table 5.2.2.2.1-8, which describes four layer CSI reporting using a Type 1, single panel codebook. For four layers mapped to four antenna ports, the precoding uses a different combination of beam offsets and polarization phase shifts for each layer. The first beam can be selected from eight possible beams, and the polarization phase shift can be selected in 
| [in] | beam_azimuth_id | First beam selector in the horizontal plane. Corresponds to parameter ![]() |
| [in] | pol_shift_id | Polarization phase shift selector. Corresponds to parameter ![]() |
| std::vector< std::unique_ptr< du > > srsran::make_gnb_dus | ( | const gnb_appconfig & | gnb_cfg, |
| span< du_cell_config > | du_cells, | ||
| worker_manager & | workers, | ||
| upper_phy_rg_gateway & | rg_gateway, | ||
| upper_phy_rx_symbol_request_notifier & | rx_symbol_request_notifier, | ||
| srs_du::f1c_connection_client & | f1c_client_handler, | ||
| srs_du::f1u_du_gateway & | f1u_gw, | ||
| timer_manager & | timer_mng, | ||
| mac_pcap & | mac_p, | ||
| rlc_pcap & | rlc_p, | ||
| gnb_console_helper & | console_helper, | ||
| e2_connection_client & | e2_client_handler, | ||
| e2_metric_connector_manager & | e2_metric_connectors, | ||
| rlc_metrics_notifier & | rlc_json_metrics, | ||
| metrics_hub & | metrics_hub ) |
Instanties a list of Distributed Unit (DU) given a gNB application configuration.
| obj_id_comparator< GetId > srsran::make_id_comparator | ( | GetId && | g | ) |
| precoding_weight_matrix srsran::make_identity | ( | unsigned | nof_streams | ) |
Constructs a precoding weight matrix for the one layer–one port mapping.
The precoding maps each layer to the port with the same identifier.
| [in] | nof_streams | Number of layers and ports. |
nof_streams layers and ports. The constant value of the entries in the main diagonal is computed to satisfy power-allocation requirements. All other entries are equal to zero. nof_streams is out of the range {1, ..., precoding_constants::MAX_NOF_LAYERS}. | mac_cell_creation_request srsran::make_mac_cell_config | ( | du_cell_index_t | cell_index, |
| const du_cell_config & | du_cfg, | ||
| std::vector< byte_buffer > | bcch_dl_sch_payloads, | ||
| const sched_cell_configuration_request_message & | sched_cell_cfg ) |
Derives MAC Cell Configuration from DU Cell Configuration.
| precoding_weight_matrix srsran::make_one_layer_all_ports | ( | unsigned | nof_ports | ) |
Constructs a precoding weight matrix for one layer mapped into all transmit ports.
All weights are set so that an identical signal is generated for each antenna port.
| [in] | nof_ports | Number of ports available for transmitting. |
nof_ports. | precoding_weight_matrix srsran::make_one_layer_four_ports_type1_sp_mode1 | ( | unsigned | beam_azimuth_id, |
| unsigned | pol_shift_id ) |
Constructs a precoding weight matrix for one layer mapped into four transmit ports.
All weights are derived from TS38.214 Table 5.2.2.2.1-5, which describes one layer CSI reporting using a Type 1, single panel codebook. For one layer mapped to four antenna ports, the precoding uses the same beam for both antenna polarizations. The beam can be selected from eight possible beams, and the phase shift between cross-polarized antenna elements can be selected in 
| [in] | beam_azimuth_id | Beam selector in the horizontal plane. Corresponds to parameter ![]() |
| [in] | pol_shift_id | Polarization phase shift selector. Corresponds to parameter ![]() |
| precoding_weight_matrix srsran::make_one_layer_one_port | ( | unsigned | nof_ports, |
| unsigned | i_port ) |
Constructs a precoding weight matrix for one layer mapped into one transmit port.
The matrix dimensions correspond to one layer and a given number of ports. All weights are zero except for the indicated port.
| [in] | nof_ports | Number of ports available for transmitting. |
| [in] | i_port | Port identifier {0, ..., nof_ports - 1}. |
nof_ports ports. i_port is equal to or greater than nof_ports. | precoding_weight_matrix srsran::make_one_layer_two_ports | ( | unsigned | i_codebook | ) |
Constructs a precoding weight matrix for one layer mapped into two transmit ports.
All weights are derived from TS38.214 Table 5.2.2.2.1-1 for 1-layer CSI reporting.
| [in] | i_codebook | Codebook identifier. |
|
inline |
| std::unique_ptr< task_executor > srsran::make_priority_task_executor_ptr | ( | priority_task_worker< QueuePolicies... > & | worker | ) |
Create general task executor pointer with Priority for priority_multiqueue_task_worker.
| std::unique_ptr< task_executor > srsran::make_priority_task_executor_ptr | ( | priority_task_worker< QueuePolicies... > & | worker, |
| task_priority | priority ) |
Create general task executor pointer with Priority for priority_multiqueue_task_worker.
| auto srsran::make_priority_task_worker_executor | ( | priority_task_worker< QueuePolicies... > & | worker | ) |
Create task executor with Priority for priority_multiqueue_task_worker.
| auto srsran::make_priority_task_worker_pool_executor | ( | task_worker_pool< QueuePolicies... > & | worker | ) |
Create task executor with Priority for task_worker_pool that supports multiple priorities.
| std::unique_ptr< task_executor > srsran::make_priority_task_worker_pool_executor_ptr | ( | task_worker_pool< QueuePolicies... > & | worker | ) |
Create general task executor pointer with Priority for task_worker_pool that supports multiple priorities.
| detail::scope_exit< std::decay_t< Callable > > srsran::make_scope_exit | ( | Callable && | callable | ) |
Defers callable call to scope exit.
| Callable | Any type with a call operator |
| callable | function that is called at scope exit |
|
inline |
| precoding_weight_matrix srsran::make_single_port | ( | ) |
Constructs a precoder configuration for a single transmitter port.
| std::unique_ptr< task_executor > srsran::make_strand_executor_ptr | ( | OutExec && | out_exec, |
| unsigned | queue_size ) |
Make a strand executor that manages the lifetime of a strand with a single queue.
| std::vector< std::unique_ptr< task_executor > > srsran::make_strand_executor_ptrs | ( | OutExec && | out_exec, |
| span< const concurrent_queue_params > | strand_queues ) |
Creates a list of task executors associated with a strand that points to the provided out executor.
| std::vector< std::unique_ptr< task_executor > > srsran::make_strand_executor_ptrs | ( | OutExec && | out_exec, |
| span< const unsigned > | qsizes ) |
Create all executors associated with a given strand. The executors will manage the strand lifetime via reference counting.
| std::unique_ptr< task_executor > srsran::make_sync_executor | ( | Executor && | executor | ) |
|
inline |
|
inline |
| std::unique_ptr< task_strand< OutExec, QueuePolicies... > > srsran::make_task_strand_ptr | ( | OutExec && | out_exec, |
| span< const unsigned > | strand_queue_sizes ) |
| std::unique_ptr< task_strand< OutExec, QueuePolicy > > srsran::make_task_strand_ptr | ( | OutExec && | out_exec, |
| unsigned | strand_queue_size ) |
Creates a task strand instance given a list of parameters.
| precoding_weight_matrix srsran::make_three_layer_four_ports_type1_sp | ( | unsigned | beam_azimuth_id, |
| unsigned | pol_shift_id ) |
Constructs a precoding weight matrix for three layers mapped into four transmit ports.
All weights are derived from TS38.214 Table 5.2.2.2.1-7, which describes three layer CSI reporting using a Type 1, single panel codebook. For three layers mapped to four antenna ports, the precoding uses a different combination of beam offsets and polarization phase shifts for each layer. The first beam can be selected from eight possible beams, and the phase shift between cross-polarized antenna elements can be selected in 
| [in] | beam_azimuth_id | First beam selector in the horizontal plane. Corresponds to parameter ![]() |
| [in] | pol_shift_id | Polarization phase shift selector. Corresponds to parameter ![]() |
| executor_tracer< Exec, Tracer > srsran::make_trace_executor | ( | const std::string & | name, |
| Exec && | exec, | ||
| Tracer & | tracer ) |
| std::unique_ptr< task_executor > srsran::make_trace_executor_ptr | ( | const std::string & | name, |
| Exec && | exec, | ||
| Tracer & | tracer ) |
| precoding_weight_matrix srsran::make_two_layer_four_ports_type1_sp_mode1 | ( | unsigned | beam_azimuth_id, |
| unsigned | beam_offset_id, | ||
| unsigned | pol_shift_id ) |
Constructs a precoding weight matrix for two layers mapped into four transmit ports.
All weights are derived from TS38.214 Table 5.2.2.2.1-6, which describes two layer CSI reporting using a Type 1, single panel codebook. For two layers mapped to four antenna ports, the precoding uses one beam for each layer. The first beam can be selected from eight possible beams, and the second beam is specified by applying an offset to the direction of the first one, in 

| [in] | beam_azimuth_id | First beam selector in the horizontal plane. Corresponds to parameter ![]() |
| [in] | beam_offset_id | Second beam offset selector. Corresponds to parameter ![]() |
| [in] | pol_shift_id | Polarization phase shift selector. Corresponds to parameter ![]() |
| precoding_weight_matrix srsran::make_two_layer_two_ports | ( | unsigned | i_codebook | ) |
Constructs a precoding weight matrix for two layers mapped into two transmit ports.
All weights are derived from TS38.214 Table 5.2.2.2.1-1 for 2-layer CSI reporting.
| [in] | i_codebook | Codebook identifier. |
| aggregation_level srsran::map_cqi_to_aggregation_level | ( | cqi_value | cqi, |
| cqi_table_t | cqi_table, | ||
| span< const uint8_t > | pdcch_candidates, | ||
| unsigned | nof_dci_bits ) |
Computes PDCCH aggregation level to use based on the input parameters.
| [in] | cqi | CQI reported by the UE. |
| [in] | cqi_table | CQI table to be used for the mapping. |
| [in] | pdcch_candidates | PDCCH candidates per aggregation level, where aggregation level for the array element with index "x" is L=1U << x. |
| [in] | nof_dci_bits | PDCCH DCI size in nof. bits. |
| optional< sch_mcs_index > srsran::map_cqi_to_mcs | ( | unsigned | cqi, |
| pdsch_mcs_table | mcs_table ) |
Performs CQI to MCS mapping - for DL.
This is based on Tables 5.2.2.1-2, 5.2.2.1-3, 5.2.2.1-4 and Tables 5.1.3.1-1, 5.1.3.1-2, 5.1.3.1-3, TS 38.214.
| [in] | cqi | CQI reported by the UE. |
| [in] | mcs_table | MCS table to be used for the mapping. |
| sch_mcs_index srsran::map_snr_to_mcs_ul | ( | double | snr, |
| pusch_mcs_table | mcs_table ) |
Maps the (PUSCH) SNR to a given MCS for PUSCH.
The objective of this function is to find the maximum MCS that can be used for a given SNR. TODO: revise this function once the SNR to BLER curves will have been prepared.
Returns an unsigned integer with the N least significant bits (LSB) set to zero, and the remaining bits set to 1.
| Integer | Type of unsigned integer returned by the function. |
| [in] | N | Number of LSB bits set to zero. |
Returns an unsigned integer with the N least significant bits (LSB) set to one, and the remaining bits set to zero.
| Integer | Type of unsigned integer returned by the function. |
| [in] | N | Number of LSB bits set to one. |
|
constexpr |
Returns an unsigned integer with the N most significant bits (MSB) set to one, and the remaining bits set to zero.
| Integer | Type of unsigned integer returned by the function. |
| [in] | N | Number of MSB bits set to one. |
Returns an unsigned integer with the N most significant bits (MSB) set to zero, and the remaining bits set to 1.
| Integer | Type of unsigned integer returned by the function. |
| [in] | N | Number of MSB bits set to zero. |
|
inline |
Get maximum of two slot points.
|
inline |
Gets the maximum number of monitored PDCCH candidates per slot for a given subcarrier spacing, for a single serving cell, as per TS 38.213, Table 10.1-2.
|
inline |
|
inline |
|
inlineconstexpr |
Converts the actual BW value in MHz to the BS channel bandwidth label.
|
inline |
Get minimum of two slot points.
|
inlineconstexpr |
Converts the Minimum Channel Bandwidth for FR1 into the actual BW value in MHz.
|
inline |
|
inline |
Converts a string into a modulation scheme.
| [in] | mod_scheme_string | input string. |
modulation_scheme. Convert BCD-coded MCC and MNC to PLMN. Digits are represented by 4-bit nibbles. Unused nibbles are filled with 0xf. MNC 001 represented as 0xf001 MNC 01 represented as 0xff01 PLMN encoded as per TS 38.413 sec 9.3.3.5
Convert PLMN to BCD-coded MCC and MNC. Digits are represented by 4-bit nibbles. Unused nibbles are filled with 0xf. MNC 001 represented as 0xf001 MNC 01 represented as 0xff01 PLMN encoded as per TS 38.413 sec 9.3.3.5
|
inline |
Calculates number of slots, using TDD reference SCS, of the TDD UL-DL configuration.
|
inlinenoexcept |
|
inline |
Convert nr_cell_global_id_t to E1AP ASN.1.
| [in] | nr_cgi | The common type nr cgi. |
| void srsran::ntn_augment_rlc_parameters | ( | const ntn_config & | ntn_cfg, |
| std::map< srb_id_t, du_srb_config > & | srb_cfgs ) |
Augments RLC parameters based on NTN configuration.
|
inline |
Converts OFDM symbol range to SLIV.
| [out] | symbols | Symbol interval as [S, S+L). |
| [in] | sliv | An index giving a combination (jointly encoded) of start symbols and length indicator (SLIV). |
| auto srsran::offload_to_executor | ( | DispatchTaskExecutor & | dispatch_exec, |
| ResumeTaskExecutor & | resume_exec, | ||
| Callable && | callable ) |
Returns an awaitable that performs a task in a "dispatch_exec" executor, and resumes in "resume_exec" executor. Note: This is a specialization for tasks with non-void return values.
| dispatch_exec | task executor where given task is going to run. |
| resume_exec | task executor where coroutine will resume once the task is run. |
| callable | task to run. |
Open a file to write trace events to.
| bool srsran::operator!= | ( | asn1::e2sm_kpm::ueid_c const & | lhs, |
| asn1::e2sm_kpm::ueid_c const & | rhs ) |
| bool srsran::operator!= | ( | const complex_normal_distribution< ComplexType > & | distr1, |
| const complex_normal_distribution< ComplexType > & | distr2 ) |
Checks whether two complex normal distributions are different.
| bool srsran::operator!= | ( | const interval< T > & | lhs, |
| const interval< T > & | rhs ) |
|
noexcept |
|
inline |
|
inlinenoexcept |
Bitwise AND operation result = lhs & rhs.
| interval< T > srsran::operator& | ( | const interval< T > & | lhs, |
| const interval< T > & | rhs ) |
Make intersection of intervals.
|
inline |
|
inline |
Sum and subtraction operations between slot_point types.
|
inline |
Implements the + operator for sr_nof_bits.
|
inline |
|
constexpr |
Reduce priority by dec amount.
|
inline |
|
inline |
| bool srsran::operator< | ( | asn1::e2sm_kpm::ueid_c const & | lhs, |
| asn1::e2sm_kpm::ueid_c const & | rhs ) |
| bool srsran::operator< | ( | asn1::e2sm_kpm::ueid_gnb_du_s const & | lhs, |
| asn1::e2sm_kpm::ueid_gnb_du_s const & | rhs ) |
| bool srsran::operator< | ( | const interval< T > & | lhs, |
| const interval< T > & | rhs ) |
Compares interval starting points. In case the starting point is the same, the interval with shorter length is the lowest.
| bool srsran::operator== | ( | asn1::e2sm_kpm::ueid_c const & | lhs, |
| asn1::e2sm_kpm::ueid_c const & | rhs ) |
| bool srsran::operator== | ( | asn1::e2sm_kpm::ueid_gnb_du_s const & | lhs, |
| asn1::e2sm_kpm::ueid_gnb_du_s const & | rhs ) |
| bool srsran::operator== | ( | const complex_normal_distribution< ComplexType1 > & | distr1, |
| const complex_normal_distribution< ComplexType1 > & | distr2 ) |
| bool srsran::operator== | ( | const interval< T > & | lhs, |
| const interval< T > & | rhs ) |
|
inline |
Checks if two RE patterns are equal.
Two RE patterns are equal if their attributes are equal.
|
inline |
|
inlinenoexcept |
Bitwise AND operation result = lhs | rhs.
| bwp_rb_bitmap srsran::operator| | ( | const bwp_rb_bitmap & | lhs, |
| const Other & | rhs ) |
| interval< T > srsran::operator| | ( | const interval< T > & | lhs, |
| const interval< T > & | rhs ) |
Make union of intervals. If intervals do not overlap, the empty interval is returned.
|
inline |
|
inline |
Converts P_CMAX,f,c value reported by UE to dBm interval based on mapping defined in Table 10.1.18.1-1 of TS 38.133.
| [in] | p_cmax | P_CMAX,f,c value reported by UE. This field maps to PH in table 6.1.3.8-2 of TS 38.321. |
Returns the value range of the sequence numbers.
| sn_size | Length of the sequence number field in bits |
| pdcch_candidate_list srsran::pdcch_candidates_common_ss_get_lowest_cce | ( | const pdcch_candidates_common_ss_configuration & | config | ) |
Generates a PDCCH candidate list for Common SS as per TS38.213 Section 10.1.
An assertion is triggered if the number of CCEs for the aggregation level exceeds the number of CCE in the CORESET.
The resultant list contains the lowest CCE index of the config.nof_candidates.
| pdcch_candidate_list srsran::pdcch_candidates_ue_ss_get_lowest_cce | ( | const pdcch_candidates_ue_ss_configuration & | config | ) |
Generates a PDCCH candidate list for UE-Specific SS as per TS38.213 Section 10.1.
An assertion is triggered if the number of candidates times the aggregation level exceeds the number of CCE in the CORESET.
The resultant list contains the lowest CCE index of the config.nof_candidates.
| pdcch_type0_css_coreset_description srsran::pdcch_type0_css_coreset_get | ( | nr_band | band, |
| subcarrier_spacing | ssb_scs, | ||
| subcarrier_spacing | pdcch_scs, | ||
| uint8_t | coreset_zero_index, | ||
| uint8_t | subcarrier_offset ) |
Get the CORESET configuration for Type0-PDCCH CSS.
The CORESET configuration is retrieved as per TS38.213 Tables 13-1, 13-2, 13-3, 13-4, 13-5, 13-6, 13-7, 13-8, 13-9 and 13-10 depending on the subcarrier combination of the SS/PBCH block and PDCCH, and the minimum channel bandwidth.
| [in] | band | Band minimum bandwidth in MHz as per TS38.104 Table 5.3.5-1 for FR 1 and Table 5.3.5-2 for FR2. This is ignored in case the band is restricted to operation with shared spectrum channel access. |
| [in] | ssb_scs | SS/PBCH block subcarrier spacing. |
| [in] | pdcch_scs | PDCCH subcarrier spacing. |
| [in] | coreset_zero_index | Parameter controlResourceSetZero as per TS38.331 PDCCH-ConfigSIB1. |
| [in] | subcarrier_offset | Offset between the CRB and the beginning of the SS/PBCH block. |
config is valid. Otherwise, PDCCH_TYPE0_CSS_CORESET_RESERVED. | pdcch_type0_css_occasion_pattern1_description srsran::pdcch_type0_css_occasions_get_pattern1 | ( | const pdcch_type0_css_occasion_pattern1_configuration & | config | ) |
Get Type0-PDCCH CSS occasions for multiplexing pattern 1 as per TS38.213 Section 13.
The Type0-PDCCH CSS occasions are retrieved from TS38.213 Table 13-11 for FR1 and Table 13-12 for FR2.
An assertion is triggered if config is not valid.
| [in] | config | Provides the necessary parameters to calculate the occasions. |
|
constexpr |
|
constexpr |
|
constexpr |
|
inline |
Converts type e1ap_pdcp_config to an E1AP ASN.1 type.
| pdcp_cfg | pdcp config object. |
|
constexpr |
Reads the CPT field from the first (header) byte of a PDCP control PDU.
| first_byte | First byte of the PDU (passed by value) |
|
constexpr |
|
inline |
|
inline |
Converts pdcp_discard_timer type to E1AP ASN.1 discard timer type.
|
constexpr |
Convert PDCP NR discard timer from enum to integer.
|
inline |
Make default SRB parameters for PDCP Ref: 3GPP TS 38.331, section 9.2.1.
|
constexpr |
Reads the D/C field from the first (header) byte of a PDCP PDU.
| first_byte | First byte of the PDU (passed by value) |
|
constexpr |
|
inline |
|
inline |
Convert PDCP SN size from enum to E1AP ASN.1.
|
constexpr |
Convert PDCP SN size from enum to unsigned integer.
|
inline |
Conversion of t-Reordering from integer to enum.
|
inline |
|
constexpr |
Convert PDCP NR t-Reordering from enum to integer.
|
constexpr |
Returns the PDCP window size.
| sn_size | Length of the sequence number field in bits |
| pdsch_default_time_allocation_config srsran::pdsch_default_time_allocation_default_A_get | ( | cyclic_prefix | cp, |
| unsigned | row_index, | ||
| dmrs_typeA_position | dmrs_pos ) |
Determines the default PDSCH time-domain resource allocation A.
The time domain allocation configuration is described in TS38.214 Table 5.1.2.1.1-2 for normal cyclic prefix and TS38.214 Table 5.1.2.1.1-3 for extended cyclic prefix.
| [in] | cp | Cyclic prefix. |
| [in] | row_index | Row index. |
| [in] | dmrs_pos | DM-RS for mapping Type A position. |
| span< const pdsch_time_domain_resource_allocation > srsran::pdsch_default_time_allocations_default_A_table | ( | cyclic_prefix | cp, |
| dmrs_typeA_position | dmrs_pos ) |
Determines the table of default PDSCH time-domain resource allocation A.
| [in] | cp | Cyclic prefix. |
| [in] | dmrs_pos | DM-RS for mapping Type A position. |
| dmrs_symbol_mask srsran::pdsch_dmrs_symbol_mask_mapping_type_A_single_get | ( | const pdsch_dmrs_symbol_mask_mapping_type_A_single_configuration & | config | ) |
Calculates the DMRS for PDSCH symbol mask for single duration.
It is implemented as per TS38.211 Table 5.1.2.1.1-2.
Any configuration that is not covered in the table triggers an assertion.
| sch_mcs_description srsran::pdsch_mcs_get_config | ( | pdsch_mcs_table | table, |
| sch_mcs_index | index ) |
Gets the Modulation and Coding Scheme configuration for PDSCH.
Reserved target code rates and spectral efficiencies are indicated with zero.
| [in] | table | MCS table. |
| [in] | index | MCS index. |
|
inlineconstexpr |
Convert PDU Session ID type to integer.
|
inline |
Return the value of periodic_bsr_timer.
|
inline |
Converts PH value reported by UE to dB interval based on mapping defined in Table 10.1.17.1-1 of TS 38.133.
| [in] | ph | PH value reported by UE. This field maps to PH in table 6.1.3.8-1 of TS 38.321. |
|
inline |
Return the value of phr_periodic_timer.
|
inline |
Return the value of phr_prohibit_timer.
|
inline |
Return the value of phr_prohibit_timer.
|
inline |
Calculates the integer power of 2.
| [in] | power | Indicates the power of 2 to calculate. |

| prach_configuration srsran::prach_configuration_get | ( | frequency_range | fr, |
| duplex_mode | dm, | ||
| uint8_t | prach_config_index ) |
Gets a PRACH configuration.
Arguments are considered valid if:
Currently, only long preamble formats for FR1 in FDD mode are implemented.
| [in] | fr | Frequency range (see here for more information). |
| [in] | dm | Duplex mode (see here for more information). |
| [in] | prach_config_index | PRACH configuration index with range {0, ..., 255}. |
| uint16_t srsran::prach_cyclic_shifts_get | ( | prach_subcarrier_spacing | prach_scs, |
| restricted_set_config | restricted_set, | ||
| unsigned | zero_correlation_zone ) |
Calculates the number of cyclic shifts 
The number of cyclic shifts 
| [in] | prach_scs | PRACH subcarrier spacing (parameter ![]() |
| [in] | restricted_set | Restricted set (see restrictedSetConfig in TS38.331 Section 6.3.2, Information Element RACH-ConfigCommon). |
| [in] | zero_correlation_zone | Zero correlation zone (see zeroCorrelationZoneConfig in TS38.331 Section 6.3.2, Information Element RACH-ConfigGeneric). |
| prach_frequency_mapping_information srsran::prach_frequency_mapping_get | ( | prach_subcarrier_spacing | prach_scs, |
| subcarrier_spacing | pusch_scs ) |
Gets the PRACH frequency mapping information contained in TS38.211 Table 6.3.3.2-1.
| [in] | prach_scs_Hz | PRACH subcarrier spacing (parameter ![]() |
| [in] | pusch_scs_Hz | PUSCH subcarrier spacing (parameter ![]() |
PRACH_FREQUENCY_MAPPING_INFORMATION_RESERVED otherwise.
|
inline |
Convert PRBs within a BWP into Common RBs, which use pointA as reference point. CRBs and PRBs are assumed to have the same numerology of the provided BWP configuration.
| bwp_cfg | BWP configuration of the respective PRB interval. |
| prbs | PRBs to be converted to CRBs. |
|
inline |
Convert PRB within a BWP into a Common RB, which use pointA as reference point. The CRB and PRB are assumed to have the same numerology of the provided BWP configuration. The existence of a CORESET#0 may also affect the rules for CRB<->PRB conversion.
| bwp_cfg | BWP configuration of the respective PRB. |
| prb | PRB to be converted to CRB. |
|
inline |
Convert an interval of PRBs to an interval of CRBs, given the BWP CRB limits.
|
inline |
Convert a PRB into CRB given the BWP CRB limits. The CRB and PRB are assumed to use the same numerology as reference.
| bwp_crb_lims | BWP CRB limits set based on the active BWP configuration. |
| crb | CRB to be converted to PRB. |
| slot_point srsran::precompute_type0_pdcch_css_n0 | ( | uint8_t | searchspace0, |
| uint8_t | coreset0, | ||
| const cell_configuration & | cell_cfg, | ||
| subcarrier_spacing | scs_common, | ||
| unsigned | ssb_index ) |
Computes the Type0-PDCCH CSS n0 slot for each beam [TS 38.213, Section 13].
| [in] | searchspace0 | Search Space Zero index. |
| [in] | coreset0 | CORESET 0 index. |
| [in] | cell_cfg | Cell configuration. |
| [in] | scs_common | SCS corresponding to subCarrierSpacingCommon, which must coincide with SCS if initial DL BWP. |
| [in] | ssb_index | SSB Beam index. |
| slot_point srsran::precompute_type0_pdcch_css_n0_plus_1 | ( | uint8_t | searchspace0, |
| uint8_t | coreset0, | ||
| const cell_configuration & | cell_cfg, | ||
| subcarrier_spacing | scs_common, | ||
| unsigned | ssb_index ) |
Computes the Type0-PDCCH CSS n0 + 1 slot for each beam [TS 38.213, Section 13].
| [in] | searchspace0 | Search Space Zero index. |
| [in] | coreset0 | CORESET 0 index. |
| [in] | cell_cfg | Cell configuration. |
| [in] | scs_common | SCS corresponding to subCarrierSpacingCommon, which must coincide with SCS if initial DL BWP. |
| [in] | ssb_index | SSB Beam index. |
Finds the smallest prime number greater than n.
Finds the biggest prime number less than n.
|
inline |
Writes the given span into a file in binary format.
The file is opened in truncated mode and writen in binary format by default.
| T | Type of the data to write. |
| [in] | filename | Output file name (possibly, with path). |
| [in] | data | Data to write. |
| [in] | mode | Open mode for the file. |
T must be standard layout. | void srsran::print_available_radio_factories | ( | ) |
Helper function to print all statically linked available radio factories to stdout.
| void srsran::print_this_thread_priority | ( | ) |
Print caller thread priority.
|
inlineconstexpr |
Convert PSUP PDU Type to integer.
Convert PSUP Paging Policy Indicator to integer.
|
inline |
Calculates the effective code rate for a PUCCH Format 2 transmission, for CSI of 1 part only.
| [in] | nof_prb | Transmission bandwidth in PRB. |
| [in] | nof_symbols | Transmission duration in symbols. |
| [in] | nof_payload_bits | Total number of payload bits. |
| pusch_default_time_allocation_config srsran::pusch_default_time_allocation_default_A_get | ( | cyclic_prefix | cp, |
| unsigned | row_index, | ||
| subcarrier_spacing | scs ) |
Determines the default PUSCH time-domain resource allocation A.
The time domain allocation configuration is described in TS38.214 Table 5.1.2.1.1-2 for normal cyclic prefix and TS38.214 Table 5.1.2.1.1-3 for extended cyclic prefix.
| [in] | cp | Cyclic prefix. |
| [in] | row_index | Row index. |
| [in] | scs | PUSCH subcarrier spacing. |
| span< const pusch_time_domain_resource_allocation > srsran::pusch_default_time_allocations_default_A_table | ( | cyclic_prefix | cp, |
| subcarrier_spacing | scs ) |
Determines the table of default PUSCH time-domain resource allocation A.
| [in] | cp | Cyclic prefix. |
| [in] | scs | PUSCH subcarrier spacing. |
| dmrs_symbol_mask srsran::pusch_dmrs_symbol_mask_mapping_type_A_single_get | ( | const pusch_dmrs_symbol_mask_mapping_type_A_single_configuration & | config | ) |
Calculates the DM-RS for PUSCH symbol mask for single duration.
It is implemented as per TS38.211 Table 6.4.1.1.3-3.
Any configuration that is not covered in the table triggers an assertion.
| sch_mcs_description srsran::pusch_mcs_get_config | ( | pusch_mcs_table | table, |
| sch_mcs_index | index, | ||
| bool | tp_pi2bpsk_present ) |
Gets the Modulation and Coding Scheme configuration for PUSCH.
Reserved target code rates and spectral efficiencies are indicated with zero.
| [in] | table | MCS table. |
| [in] | index | MCS index. |
| [in] | tp_pi2bpsk_present | Set to true if higher layer parameter tp-pi2BPSK is enabled. See TS38.331 Section 6.3.2 Information Element PUSCH-Config for more information. |
|
inlineconstexpr |
Convert QoS Flow ID type to integer.
|
inlineconstexpr |
Convert QoS Priority Level type to integer.
| ra_frequency_type1_configuration srsran::ra_frequency_type1_from_riv | ( | unsigned | N_bwp_size, |
| unsigned | riv ) |
Calculates the PRBs from 
| unsigned int srsran::ra_frequency_type1_get_riv | ( | const ra_frequency_type1_configuration & | config | ) |
Calculates the resource indication value 
if 

Otherwise,

| unsigned srsran::ra_frequency_type1_special_get_riv | ( | const ra_frequency_type1_special_configuration & | config | ) |
Calculates the resource indication value 
if 

Otherwise,

Where 

if 



|
inlineconstexpr |
Converts SCS to its integer value in hertz.
|
inline |
Convert RAN_UE_ID type to integer.
|
inlinenoexcept |
Reports an error and closes the application gracefully. This function is intended to be used for error conditions that may be triggered by the user or through invalid configurations.
|
inlinenoexcept |
Reports a fatal error and handles the application shutdown. This function is intended to be used for error conditions that aren't neither caught by the compiler nor possible to handle by the application at runtime.
|
inline |
Return the value of retx_bsr_timer.
Reverses the bits of a given byte.
|
constexpr |
|
constexpr |
|
inline |
|
inline |
|
inline |
|
inline |
Converts rlc_mode type to an E1AP ASN.1 type.
| rlc_mod | rlc_mode type. |
|
inline |
|
inline |
|
inline |
|
inline |
|
constexpr |
|
constexpr |
|
inline |
|
inline |
|
inlineconstexpr |
Converts SCS into integer in kHz.
|
inline |
Modify SCTP default parameters for quicker detection of broken links. Changes to the SCTP_INITMSG parameters (to control the timeout of the connect() syscall)
|
inline |
Modify SCTP default parameters for quicker detection of broken links. Changes to the maximum re-transmission timeout (rto_max).
|
inline |
Converts type sdap_config to an E1AP ASN.1 type.
| sdap_cfg | sdap config object. |
|
inline |
|
inline |
|
inline |
Converts type security_indication to an ASN.1 type.
| asn1obj | ASN.1 object where the result of the conversion is stored. |
| security_indication | Security Indication IE contents. |
|
inline |
Checks whether a security_result shall be sent.
Helper function to determine whether the security_indication shall be replied with a security_result by the peer entity, i.e. if either integrity or confidentiality are set to 'preferred' so the peer entity can decide according to its capabilities. Ref: TS 38.413 Sec. 8.2.1.2, TS 38.463 Sec. 8.3.1.2
| security_indication | The security_indication to be checked. |
|
inline |
Converts type security_result_t to an ASN.1 type.
| [out] | asn1obj | ASN.1 object where the result of the conversion is stored. |
| [in] | security_result | Security Result IE contents. |
Sets the value of a bit in the bitmap. When enable is true, it sets the bit, otherwise it clears the bit.
| [in] | bitmap | Bitmap to modify. |
| [in] | bit | Bit to change. |
| [in] | enable | Value to set. If true, sets the bit(1), otherwise clears it(0). |
|
inline |
Convert a slot point to another numerology. This function applies a "floor" operation when the new numerology is lower than the old one. E.g. Given two numerologies mu1 and mu2, where m1 < m2, this conversion function "f" will always ensure that, for a slot t1 with m1 numerology, the condition "f(f(t1, mu2), m1) <= t1" is satisfied.
|
inline |
Converts the SIB1 periodicity property to its corresponding value in milliseconds.
Convert start S and length L into SLIV.
| [in] | N | Max length. |
| [out] | S | Start symbols. |
| [out] | L | Length. |
|
inline |
Converts SLIV to OFDM symbol start S and length L.
| [in] | sliv | An index giving a combination (jointly encoded) of start symbols and length indicator (SLIV). |
| [out] | symbols | Symbol interval as [S, S+L). |
|
inlineconstexpr |
Convert SLIV to start S and length L.
| [in] | N | Max length. |
| [in] | sliv | An index giving a combination (jointly encoded) of start and length indicator (SLIV). |
| [out] | S | Start. |
| [out] | L | Length. |
|
inline |
Convert s_nssai_t type to E1AP ASN1 s-NSSAI.
| snssai | The s-NSSAI type. |
|
inline |
|
inline |
|
inline |
Converts sr_nof_bits into unsigned.
|
inline |
Convert unsigned to scheduling_request_id.
|
inline |
Convert SRB ID to LCID.
|
inlineconstexpr |
| optional< srs_configuration > srsran::srs_configuration_get | ( | uint8_t | c_srs, |
| uint8_t | b_srs ) |
Gets an SRS configuration.
| [in] | c_srs | Parameter ![]() |
| [in] | b_srs | Parameter ![]() |
nullopt.
|
inlinenoexcept |
Command to terminate application with an error message, ensuring first that the log is flushed. Attribute noinline is used to signal to the compiler that this path should rarely occur and therefore doesn't need to get optimized.
|
inline |
Calculates the position of the first SS/PBCH block subcarrier relative to Point A.
The result is expressed in units of subcarriers of SS/PBCH block SCS ssb_scs assuming that:
In other words, it is not possible to determine an SS/PBCH block position in the grid if the SS/PBCH block subcarrier offset does not match the position of the resource grid subcarriers. Because of this, the parameters must result in an integer subcarrier index of the SS/PBCH block SCS.
Assertions are triggered if:
| [in] | fr | Frequency range. |
| [in] | ssb_scs | SS/PBCH block subcarrier spacing. |
| [in] | common_scs | Higher layer parameter subCarrierSpacingCommon as per TS38.331 MIB. |
| [in] | offset_to_pointA | Offset to Point A (see here for more information). |
| [in] | subcarrier_offset | Subcarrier offset (see here for more information). |
|
inline |
Calculates the first OFDM symbol in a 5ms SS/PBCH block burst.
| [in] | pattern_case | Provides the pattern |
| [in] | ssb_idx | Provides the SS/PBCH block opportunity index |
| uint8_t srsran::ssb_get_L_max | ( | subcarrier_spacing | ssb_scs, |
| unsigned | dl_arfcn, | ||
| optional< nr_band > | band = {} ) |
Calculates L_max, ie max number of SSB occasions per SSB period. Possible values are {4, 8, 64}.
| ssb_scs | SSB Subcarrier Spacing. |
| dl_arfcn | DL ARFCN. |
| band | NR band. If not provided, it will be derived from the DL-ARFCN. |
| ssb_pattern_case srsran::ssb_get_ssb_pattern | ( | subcarrier_spacing | ssb_scs, |
| unsigned | dl_arfcn ) |
Calculates SSB pattern from SSB subcarrier spacing and DL ARFCN.
|
inline |
Converts the SSB periodicity property to its corresponding value in milliseconds.
|
inline |
Splits a given string into multiple elements given a delimiter. The elements are casted to the specified type. Insertable It is the list data-type. It needs to implement insert(iterator, element)
| input | It is the input string |
| delimiter | Character used for indicating the end of the strings |
| list | contains the parsed values |
|
inline |
Convert between string and BCD-coded MCC. Digits are represented by 4-bit nibbles. Unused nibbles are filled with 0xf. MCC 001 results in 0xf001
|
inline |
Convert between string and BCD-coded MNC. Digits are represented by 4-bit nibbles. Unused nibbles are filled with 0xf. MNC 001 results in 0xf001 MNC 01 results in 0xff01
| unsigned srsran::tbs_calculator_calculate | ( | const tbs_calculator_configuration & | config | ) |
Calculates the TBS for a given SCH transmission.
Implemented as per TS38.214 Section 5.1.3.2.
Converts TB scaling field into the scaling factor S (see TS38.214 Table 5.1.3.2-2).
| [in] | scaling | TB scaling field, possible values are {0, 1, 2}. |
Gets the smallest TBS in bits (from TS 38.214 Table 5.1.3.2-1) greater than or equal to a given value.
| [in] | nof_info_prime | Quantized intermediate number of information bits, as per TS38.214 Section 5.1.3.2. |
nof_info_prime must not be greater than 3824 bits. nof_info_prime.
|
inline |
Return the value of time_alignment_timer.
|
inline |
Converts the given sting into an affinity mask policy or returns last if it could not convert it.
|
inline |
Converts and returns the given value to an affinity mask type.
|
inline |
Calculates the index associated to the passed aggregation level.
|
constexpr |
|
constexpr |
Helper method to generate an std::array from a C array without needing to derive the size N.
|
inline |
Returns the bucket_size_duration enum value corresponding to the given unsigned value.
Converts integer value to BWP-Id".
| const char * srsran::to_c_str | ( | fmt::basic_memory_buffer< char, N > & | mem_buffer | ) |
Converts fmt memoryy buffer to c_str() without the need for conversion to intermediate std::string.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineconstexpr |
|
inline |
Convert integer to DU cell index type.
|
inlineconstexpr |
Convert integer to DU UE index type.
|
inline |
Returns the frequency range corresponding to an SS/PBCH block pattern.
|
inline |
Return the enum value of logical_channel_sr_delay_timer corresponding to give value.
|
inline |
|
inline |
Calculates number of CCEs based on Aggregation Level as per TS38.211 Table 7.3.2.1-1.
|
inline |
|
constexpr |
|
constexpr |
|
constexpr |
Converts sequence number field to numeric its value.
| sn_size | sequence number size |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
inlineconstexpr |
Converts SCS to numerology index ( 
|
inlineconstexpr |
Convert SCS to numerology index ( 

|
inline |
Return the enum value of periodic_bsr_timer corresponding to give value.
|
inline |
Return the enum value of phr-ProhibitTimer corresponding to the given unsigned value.
|
inline |
|
inline |
Returns the prioritized_bit_rate enum value corresponding to the given unsigned value.
|
inline |
Converts a numeric string (representing a bandwidth in kilohertz) to an SCS.
|
inlineconstexpr |
Adapts common resource grid subcarrier spacing to RA subcarrier spacing.
|
inline |
Converts a numerical value (a bandwidth in hertz) to an SCS.
|
inline |
Return the enum value of retx_bsr_timer corresponding to give value.
Converts integer to RNTI value.
|
inlineconstexpr |
Gets the sampling rate from a subcarrier spacing and a DFT size combination.
| U | Return data type. Must be convertible to unsigned (default: double). |
| [in] | scs | Subcarrier spacing. |
| dft_size | DFT size. |
|
inline |
|
inline |
Provides a contiguous view of a byte_buffer. It is bound to the lifetime of the byte_buffer src and the temporary buffer tmp_mem, whichever is shorter. Important: tmp_mem must be at least as large as src.
The memory used for the result and the complexity depends on whether src is contiguous or not:
src.tmp_mem in which all segments of src are copied.| src | Source byte_buffer. |
| tmp_mem | Temporary memory for a possible copy. Must be at least as large as src. |
Return the enum value of sr-TransMax corresponding to the given unsigned value.
|
inline |
Return the enum value of sr-ProhibitTimer corresponding to the given unsigned value.
|
inline |
|
inline |
|
constexpr |
|
inline |
|
inline |
Converts a CSI-RS CDM type to a string representation.
|
inline |
Converts a CSI-RS density type to a string representation.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineconstexpr |
|
inline |
Converts SCS to string.

|
inline |
|
inline |
Returns the subcarrier spacing corresponding to an SS/PBCH block pattern.
|
inline |
Convert SCS to string.
|
inlineconstexpr |
|
inline |
Gets a string representing a uci_status value.
|
inline |
Convert a string to SCS.
|
inline |
Returns the subcarrier spacing corresponding to an SS/PBCH block pattern.
|
inlineconstexpr |
Convert numerology index ( 
|
inline |
|
inline |
|
inline |
Converts and returns the given affinity mask type to an integer.
Converts RNTI value to integer.

| unsigned srsran::type0_pdcch_css_n0_is_even_frame | ( | double | table_13_11_and_13_12_O, |
| double | table_13_11_and_13_12_M, | ||
| uint8_t | numerology_mu, | ||
| unsigned | ssb_index ) |
Helper function that returns whether slot n0 of Type0-PDCCH CSS is in an even/odd frame.
| [in] | table_13_11_and_13_12_O | Parameter O provided in Table 13-11 and 13-12 of TS 38 213. |
| [in] | table_13_11_and_13_12_M | Parameter M provided in Table 13-11 and 13-12 of TS 38 213. |
| [in] | numerology_mu | Numerlogy based on SCS for PDCCH receptions in the CORESET. |
| [in] | ssb_index | SS/PBCH block with index. |
| unsigned srsran::uci_part2_get_size | ( | const uci_payload_type & | part1, |
| const uci_part2_size_description & | descr ) |
Calculates the UCI part 2 from UCI part 1.
| [in] | part1 | UCI part 1 decoded data. |
| [in] | descr | UCI part 1 parameters correspondence to UCI part 2 size. |
|
inline |
Convert integer to Five QI type.
|
inlineconstexpr |
Convert integer to PDU Session ID type.
|
inlineconstexpr |
Convert integer to PSUP PDU Type.
Convert integer to PSUP Paging Policy Indicator.
|
inlineconstexpr |
Convert integer to QoS Flow ID type.
|
inlineconstexpr |
Convert integer to QoS Priority Level type.
|
inline |
Convert integer to RAN_UE_ID type.
|
inline |
Convert unsigned to scheduling_request_id.
|
inline |
Converts a uint into a serv_cell_index.
Converts a uint into a enum tag_id_t .
| void srsran::up_transport_layer_info_to_asn1 | ( | Asn1Type & | asn1obj, |
| const up_transport_layer_info & | up_tp_layer_info ) |
Converts type up_transport_layer_info to an ASN.1 type.
| asn1obj | ASN.1 object where the result of the conversion is stored. |
| up_tp_layer_info | UP Transport Layer Info object. |
| bool srsran::validate_appconfig | ( | const gnb_appconfig & | config | ) |
Validates the given GNB application configuration. Returns true on success, false otherwise.
| bool srsran::validate_dci_size_config | ( | const dci_size_config & | config | ) |
Validates a DCI configuration for the DCI size alignment procedure.
| bool srsran::validate_prach_detector_phy | ( | prach_format_type | format, |
| prach_subcarrier_spacing | scs, | ||
| unsigned | zero_correlation_zone, | ||
| unsigned | nof_rx_ports ) |
Ensures the PRACH configuration is supported by the detector.
| [in] | format | PRACH format. |
| [in] | scs | PRACH subcarrier spacing. |
| [in] | zero_correlation_zone | PRACH zero correlation zone. |
| [in] | nof_rx_ports | Number of receive antenna ports. |

| bool srsran::validate_pucch_csi_payload | ( | const csi_report_packed & | packed, |
| const csi_report_configuration & | config ) |
Checks that the CSI payload carried over PUCCH is valid given a CSI report configuration.
This validator can be used before calling csi_report_unpack_pucch to avoid triggering any assertions.
| [in] | packed | Packed CSI report. |
| [in] | config | CSI report configuration. |
true if the CSI payload is valid, false otherwise. | bool srsran::validate_pusch_csi_payload | ( | const csi_report_packed & | csi1_packed, |
| const csi_report_packed & | csi2_packed, | ||
| const csi_report_configuration & | config ) |
Checks that the CSI payload carried over PUSCH is valid given a CSI report configuration.
This validator can be used before calling csi_report_unpack_pusch to avoid triggering any assertions.
| [in] | csi1_packed | Packed CSI Part 1 report. |
| [in] | csi2_packed | Packed CSI Part 2 report. |
| [in] | config | CSI report configuration. |
true if the CSI payload is valid, false otherwise.
|
inlineconstexpr |
Reads the value of the variant given the index or the type (if the type is unique).
| [in] | v | Variant to examine. |
|
inlineconstexpr |
Reads the value of the variant given the index.
| [in] | v | Variant to examine. |
|
inlineconstexpr |
Reads the value of the variant given the index or the type (if the type is unique).
| [in] | v | Variant to examine. |
|
inlineconstexprnoexcept |
Checks if the variant v holds the alternative T.
| [in] | v | Variant to examine. |
Apply a visitor to the variant.
| void srsran::visit_executor | ( | priority_task_worker< QueuePolicies... > & | worker, |
| task_priority | priority, | ||
| const Func & | func ) |
Create general task executor pointer with Priority for priority_multiqueue_task_worker.
| void srsran::visit_executor | ( | task_worker_pool< QueuePolicies... > & | worker, |
| enqueue_priority | priority, | ||
| const Func & | func ) |
Create general task executor pointer with Priority for priority_task_worker_pool.
| async_task< bool > srsran::when_completed_on_task_sched | ( | fifo_async_task_scheduler & | task_sched, |
| Callback && | task_to_run ) |
Launches an asynchronous task on the given task sequencer and returns an async task that is only complete when the former is complete.
This function is useful to synchronize two procedures running in separate task schedulers.
| Callback | |
| ReturnType |
| task_sched | |
| task_to_run |
| async_task< optional< ReturnType > > srsran::when_completed_on_task_sched | ( | fifo_async_task_scheduler & | task_sched, |
| Callback && | task_to_run ) |
Returns the UM_Window_Size and AM_Window_Size Ref: 3GPP TS 38.322 Sec. 7.2.
| sn_size | Length of the sequence number field in bits |
Counts the number of contiguous bits set to zero, starting from the MSB.
| Integer | Integer type of received bitmap. |
| [in] | value | Integer bitmap |
|
inline |
This function forbids the compiler from optimizing away expressions without side-effects.
SSB constants. FR1 = [ 410 MHz – 7125 MHz] (TS 38.101, Section 5.1) and ARFCN corresponding to 7.125GHz is 875000.
Port specified for Encapsulated T-PDUs, TS 29.281 Sec. 4.4.2.3
|
constexpr |
Invalid transaction id.
Maximum value of Logical Channel ID.
|
constexpr |
Max number of CORESETs per BWP per cell (including UE-specific and common CORESETs).
|
constexpr |
Maximum number of PRBs of a UE carrier, for any SCS.
|
constexpr |
Maximum number of PUCCH Resource Sets.
|
constexpr |
Maximum number of PUCCH resources.
|
constexpr |
Maximum number of PUCCH Resources per PUCCH-ResourceSet.
pucch_resource_set, see TS 38.213, Section 9.2.1. | const size_t srsran::MAX_NOF_RBGS = 18 |
Maximum number of resource block groups per BWP.
|
constexpr |
|
constexpr |
Maximum number of SR resources per BWP in a cell.
[Implementation defined] Max numbers of beams, to be used for SIB1 scheduler. NOTE: This is temporary, and valid only for FR1.
|
constexpr |
Maximum supported size of a PDCP Control PDU Ref: TS 38.323 Sec. 4.3.1
|
constexpr |
Maximum supported size of a PDCP SDU Ref: TS 38.323 Sec. 4.3.1
The PDCP cannot re-use COUNTs, see TS 38.331, section 5.3.1.2. To avoid this, we define two thresholds, one where we accept messages but notify the RRC and another where we no longer accept messages. Here, we define some default values for this, both for TX and RX.
UCI placeholder bit.
A placeholder for setting a bit to 1 in the scrambler. It is denoted as "\c x" in TS38.212 Section 5.3.3 and in TS38.211 Section 6.3.1.1.
UCI placeholder bit.
A placeholder for repeating the previous bit in the scrambler. It is denoted as "\c y" in TS38.212 Section 5.3.3 and in TS38.211 Section 6.3.1.1.
SIB1 constants. SIB1 periodicity, see TS 38.331, Section 5.2.1.
|
extern |
UP event tracing. This tracer is used to analyze latencies in the CU-UP/DU high processing of the user plane traffic.